2015-12-22 5 views
2

Как я могу сделать переменную $ Category в запросе mysql ниже равным значению, выбранному в раскрывающемся списке ниже?Задайте переменную mysql php равному выпадающему значению

Это похоже на простую концепцию, которая, похоже, не может понять. Также было бы здорово, если страница автоматически выполнит новый запрос, когда изменится список выпадающего списка. Кроме того, он должен по умолчанию показывать все записи при первой загрузке страницы.

MYSQL PHP QUERY

   $query = mysql_query("SELECT * FROM tblClients WHERE tblclients.package = 'standard' and tblclients.category = '$Category' LIMIT 0, 9", $connection); 

DROPDOWN СПИСОК

<section class="main"> 
     <div class="wrapper"> 
      <div id="dd" class="wrapper-dropdown-3" tabindex="1"> 
       <span>View By Category</span> 
       <ul class="dropdown"> 
      <?php while ($rows = mysql_fetch_array($query_category)) { ?> 
        <li><a class="<?php echo $rows['category']; ?>"><?php echo $rows['category']; ?></a></li> 
      <?php } ?> 
      </ul> 
      </div> 
     ​</div> 
    </section> 

ответ

4

Если вы не хотите использовать форму и передать значение опции из избранных, а вместо этого хотят пользователь может щелкнуть ссылку в списке, вы можете добавить значение к URL-адресу и передать его как параметр get.

Изменение:

<li><a class="<?php echo $rows['category']; ?>"><?php echo $rows['category']; ?></a></li> 

To:

<li><a href="?category=<?php echo $rows['category']; ?>" class="<?php echo $rows['category']; ?>"><?php echo $rows['category']; ?></a></li> 

Вы можете получить доступ к этой переменной в качестве переменной в $ _GET. Нравится:

$selectedCategory = $_GET['category']; 
$query = mysql_query("SELECT * FROM tblClients WHERE tblclients.package = 'standard' and tblclients.category = " . $selectedCategory . " LIMIT 0, 9", $connection); 

Обязательно выполните дезинфекцию ваших пользовательских входных данных.

Ответ на ваш комментарий:

Если вы хотите использовать и выберите параметры, вы можете использовать форму. Действие формы будет URL-адресом скрипта PHP, который будет обрабатывать выбранные значения элементов формы. Метод формы может быть либо GET (и вы можете обрабатывать переменную аналогично тому, как я изложил ранее), либо может быть POST, и вы можете получить доступ к переменной с массивом $ _POST, а не массивом $ _GET.

<form name="form1" action="" method="GET"> 
    <select name="category"> 
    <option value="home">Home</option> 
    <option value="work">Work</option> 
    <option value="school">School</option> 
    </select> 
    <input type="submit" value="Submit"/> 
</form> 

Или, вы можете использовать JavaScript для перенаправления кода обработки OnChange из выбора:

<select name="category" onchange="location = window.location.href + "?category="+this.selectedIndex.value;"> 
<option value="home">Home</option> 
<option value="work">Work</option> 
<option value="school">School</option> 
</select> 

и обработать переменную $ _GET таким же образом, что я изложил выше.

+0

Что делать, если бы я выбрал вместо него выпадающий список SELECT OPTION. Для примера ...