Задать вопрос
  • Как передать значение из Select2 в другую функцию?

    @Irinka95 Автор вопроса
    catch-a-chalk, благодарю, Вам тоже!
    Написано
  • Как передать значение из Select2 в другую функцию?

    @Irinka95 Автор вопроса
    catch-a-chalk, внесла небольшие правки в серверной части, шикарно работает данный метод, спасибо
    Написано
  • Как передать значение из Select2 в другую функцию?

    @Irinka95 Автор вопроса
    catch-a-chalk, благодарю, потестирую ради интереса
    Написано
  • Как передать значение из Select2 в другую функцию?

    @Irinka95 Автор вопроса
    catch-a-chalk, Кстати, сейчас проверила этот вариант, не работает пока опять же не выберешь город (при загрузке белый экран), видимо не дружит какая-то проверка с серверной частью..
    Если вернуть функцию getFilter(); на место, то уже начинает работать, но при отображении включенном ошибок php выдает implode(): Invalid arguments passed in, это из-за return filter.length ? filter : null;, т.к. в серверной части у меня сразу принимается массив (у статьи может быть несколько категорий и ищу я их через LIKE, если это правильно конечно..)
    if (isset($_POST['category'])) {
    	$filters = [];
    	$category = implode("%' OR `a`.`p_categories` LIKE '%", $_POST['category']);
        $filters[] = "(`a`.`p_categories` LIKE '%{$category}%')";
    	if (!empty($filters)) {
        $sql .= " AND " . implode(" AND ", $filters);
        }	
    }
    Написано
  • Как передать значение из Select2 в другую функцию?

    @Irinka95 Автор вопроса
    catch-a-chalk, у меня мой вариант сработал, что выше сбрасывала. Большое Вам спасибо, что откликнулись.
    У меня как раз в серверной части и идет первая проверка на if(!empty), проверяет если пусто, то выводит без всяких фильтров
    Написано
  • Как передать значение из Select2 в другую функцию?

    @Irinka95 Автор вопроса
    Не знаю насколько правильно, проблему решила методом тыка..
    Вернула на старое место вызов функции getFilter(); дабы не дублировать вывод из php
    + добавила вызов функции getFilter(); при выборе города, почему она не срабатывает именно при выборе города при клике на класс filter_click не понятно, при фильтрации категорий работает как нужно. В общем код по итогу такой

    $(document).ready(function() {
        // инициализация Select2
        $(".city").select2({
            ajax: {
                url: "/ajax.php?action=main&type=get_city",
                type: "post",
                dataType: 'json',
                delay: 250,
                data: function(params) {
                    return {
                        searchTerm: params.term
                    };
                },
                processResults: function(response) {
                    return {
                        results: response
                    };
                },
                cache: true
            }
        });
    
        // глобальная переменная для хранения выбранного города
        let selectedCity = null;
    
        // обработчик выбора города
        $('.city').on('select2:select', function(e) {
            selectedCity = e.params.data.id; // или e.params.data.text в зависимости от того, что нужно
    		getFilter();
            //console.log("Выбран город:", selectedCity);
        });
        
    	getFilter();
    	
        // основная функция фильтрации
        function getFilter() {
            let action = 'get_data';
            let category = filterCategory('category');
            let city = selectedCity; // используем сохраненное значение города
            
            $.ajax({
                url: '/ajax.php?action=main&type=get_data',
                method: 'POST',
                data: { 
                    action: action, 
                    category: category, 
                    city: city 
                },
                success: function(response) {
                    $('#filterResults').html(response);
                }
            });
        }
    
        function filterCategory(classname) {
            let filter = [];
            $('.' + classname + ':checked').each(function() {
                filter.push($(this).val());
            });
            return filter;
        }
    
        $('.filter_click').click(function() {
            getFilter();
        });
    });
    Написано
  • Как передать значение из Select2 в другую функцию?

    @Irinka95 Автор вопроса
    Проверила, работает, спасибо! Но есть одна странность..
    При загрузке страницы выдает все статьи (так и нужно, без различных фильтров)
    Если выбирать чекбоксы только фильтра по категории, то отрабатывает тоже хорошо
    Но если изначально выбрать город, то ничего не меняется, все данные на странице те же, другие города не отсеиваются пока не выбрать категорию, это в чем может быть проблема?
    Написано
  • Как передать событие клика по пуш-уведомлению в формате Ajax для увеличения счётчика кликов?

    @Irinka95 Автор вопроса
    Сама изначально не догадалась, решила вопрос вчера, но немного иначе, вот полный код js. Изменения выделила жирным цветом, но а в php уже проверка, мало ли замена и если успешно, то обновляю количество кликов. Решение похоже на Ваше, но notificationDetails[i]['id'] так идентификатор не передать, т.к. это сама часть уведомления. В php просто добавила строку $arrayNotify['id'] = $userNotification['id']; и получила как var notificationId = response.id; Вам большое спасибо, что решили помочь, возможно, кому-то еще пригодится код.

    function getNotification() {	
    	if (!Notification) {
    		$('body').append('<h4 style="color:red">*Browser does not support Web Notification</h4>');
    		return;
    	}
    	if (Notification.permission !== "granted") {		
    		Notification.requestPermission();
    	} else {		
    		$.ajax({
    			url : "/ajax.php?action=app&type=push_notification",
    			type: "POST",
    			success: function(response, textStatus, jqXHR) {
    				var response = jQuery.parseJSON(response);
    				if(response.result == true) {
    					var notificationDetails = response.notif;
                                            <b> var notificationId = response.id;</b>
    					for (var i = notificationDetails.length - 1; i >= 0; i--) {
    						var notificationUrl = notificationDetails[i]['url'];
    						var notificationObj = new Notification(notificationDetails[i]['title'], {
    							icon: notificationDetails[i]['icon'],
    							body: notificationDetails[i]['message'],
    						});
    						notificationObj.onclick = function () {
    							<b>$.post('/ajax.php?action=push&type=push_click', {'id': notificationId}, function(result){
    							    Toast[result['status']](result['text']);	
    							}, 'json');</b>
    							window.open(notificationUrl); 
    							notificationObj.close();     
    						};
    						setTimeout(function(){
    							notificationObj.close();
    						}, 7000);
    					};
    				} else {
    				}
    			},
    			error: function(jqXHR, textStatus, errorThrown)	{}
    		}); 
    	}
    };
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    Артем Прохоров, антидетект ads power + asocks / ake на мобильных прокси, у сайтов либо один хозяин либо копия друг друга. В интернете можете поискать, там и промокоды есть на бесплатные гб.
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    Как подсказывали другие пользователи, лучше использовать мобильный прокси, дорого, но действительно работает
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    Большое спасибо за Ваш совет, буду изучать
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    Здравствуйте. Спасибо, как раз на днях изучала инфу про мобильный прокси, очень даже удобно, хоть и дорого. Да и пригодится он ни так часто, а только для входа на сайт раз в неделю +-
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    CityCat4, честно говоря лучше не надо, все легально, но ..)
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    Использовала разные ВПН, правда бесплатные.. При регистрации на определенных сайтах всплывает уведомление: "Обнаружено использование ВПН" и соответственно регистрация не проходит.

    Пользовалась только рег ру, там к сожалению только РФ, но уже в другом ответе подсказали подходящий.

    Спасибо за Ваш ответ
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    alexprime96, да, сайт я изучила, уточняла именно про домен. У меня сейчас домен и облако куплено на рег ру, но все партнерские сайты меня заблокировали т.к. РФ. Спасибо за помощь.
    Написано
  • Как скрыть факт использования VPN на сайтах и настроить виртуальный сервер?

    @Irinka95 Автор вопроса
    Большое спасибо за ответ. Изучила сайт Fornex, там можно купить только VPS, подскажите, если ли в моем случае разница где покупать сам домен, в том плане у РФ регистратора или заграничного?
    Написано