Как фильтровать продукты woocommerce на основе местоположения клиента, как на веб-сайте & ldquo; Swiggy & rdquo ;? [Дубликат]

Панель содержимого файла JFrame имеет BorderLayout. Если вы поместите компонент в BL без ограничений, он окажется в CENTER. Центр может отображать только один компонент.

Для немедленного эффекта я предлагаю:

f.add(top, BorderLayout.PAGE_START);
f.add(mid);
f.add(bot, BorderLayout.PAGE_END);

Другие точки.

  1. Вынуть f.setSize(500, 500); и вызовите pack() непосредственно перед setVisible(true)
  2. . Для лучшего завершения завершения GUI измените f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); на f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  3. in.setVisible(true); За исключением самого кадра , возьмите их. Компонент автоматически становится видимым, когда он добавляется в контейнер верхнего уровня, и сам контейнер становится видимым.
  4. Измените public class EncDecExample extends JFrame на public class EncDecExample. Этот код содержит ссылку на кадр, и это правый путь.
1
задан TrueCode 21 August 2017 в 11:05
поделиться

1 ответ

  1. Никогда не делайте ORDER BY RAND(), если вам действительно не нужен случайный порядок, так как эти quereis не будут кэшироваться.
  2. Выполнение кучки if s также не самая лучшая идея , Представьте, что на этой странице будет 400 фильтров. Как бы выглядел ваш код? :)

Вот как я это сделал:

Оберните значения фильтра в контейнере:

$.ajax({
    url: 'action.php',
    method: 'POST',
    data: {
        locations: {
            calangute  : calangute,
            baga : baga,
            morjim : morjim,
            candolim : candolim,
            anjuna : anjuna,
        }
    },
    success:function(response){
        $('.display').html(response);
    }
});

Затем на стороне сервера :

<?php

// to remove empty values
$filter = isset($_POST['locations']) ? array_filter($_POST['locations']) : [];

$query = empty($filter)
    ? "SELECT * FROM rooms"
    : "SELECT * FROM rooms WHERE location IN ('".implode("', ", $filter)."')";

$run = mysqli_query($conn, $query);
if (mysqli_num_rows($run) > 0) {// display data }

И еще несколько вещей, которые не имеют прямого значения:

  1. Рассмотрим использование PDO
  2. My пример не включает санитарию и валидацию данных.
1
ответ дан t1gor 15 August 2018 в 23:52
поделиться
  • 1
    Спасибо, сэр, его работа! но опять-таки одна проблема. если я проверяю более одного флажка, он не показывает результат комбинации. любая идея исправить это?) – TrueCode 21 August 2017 в 12:40
  • 2
    если я проверяю более 1 флажка; Предупреждение PHP предупреждает --- Предупреждение: mysqli_num_rows () ожидает, что параметр 1 будет mysqli_result, boolean задан в / Applications / MAMP / htdocs / filters_ajax checkboxes / action.php в строке 57 – TrueCode 21 August 2017 в 12:41
  • 3
    Если это ошибка, то, вероятно, она не работает :). Каково содержимое переменной $filter, если вы выбрали несколько? – t1gor 21 August 2017 в 12:50
  • 4
    Я уже выяснил ... проблема была в синтаксисе ... в функции inplode отсутствовал один (') разделитель. спасибо большое спасибо ... он решил мою проблему и дал мне короткий способ решить такие коды .. Спасибо :-) – TrueCode 21 August 2017 в 13:07
Другие вопросы по тегам:

Похожие вопросы: