выпадающие опции сортировки не работают

0

Я пытаюсь сортировать свои продукты, используя раскрывающийся список. когда я выбираю опцию, код не запускается и продукты не меняют позицию. iv удалось сортировать продукты с помощью разных кнопок, но я думаю, что выпадающий список будет выглядеть лучше на веб-сайте.

  <?php
   echo $sort = @$_GET['order']; 
   if (!empty($sort)) {  
   echo $query="SELECT * FROM products ORDER BY '".$sort."'";



    } else { 
     echo $query="SELECT * FROM products order by " ;
    }
    ?>


<form name="sort" action="" method="post">
<select name="order">
   <option value="choose">Make A Selection</option>
   <option value="price_asc">Price </option>
   <option value="price_desc">Z-A</option>
   <option value="name_asc">A-Z</option>
</select>
<input type="submit" value=" - Sort - " />
</form>



<?php

//Run the query.

$record_set = $connection->query($query);

while( $row = $record_set->fetch_assoc() ) {


echo '<div class="product">'; 
echo '<div class="product-content"><h3>'. $row['name'].'</h3>' .'</div>' . '<br />'.'<div class="product-thumb"><img src="/ISD assignment2/images/'. $row['imageName'].'"></div>'. '<div class="product-desc">'.$row['description']. '</div>'. '<br />' .'&pound;'. number_format($row['price'], 2) . '<a href="../cart/cart.php?add=' . $row['productID'] . '"><p>Add</a></p>';
echo '</div>';





}
?>
  • 0
    Попробуйте заменить строку "echo $ query =" SELECT * FROM products ORDER BY '". $ Sort."' ";" WITH "echo $ query =" SELECT * ИЗ ПРОДУКТОВ ORDER BY '".str_replace (' _ ',' ', $ sort)."' ";". Вы не получаете никаких ошибок MySQL?
  • 0
    нет я не получаю никаких ошибок, я попробовал ваш код, и он не работает
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ
Two potential issues:

1) Your Form has no action.  I believe you are trying to get it to refresh onto itself.
which would be:
action=" <?php echo $_SERVER['PHP_SELF'] ?>"

2) You are submitting via POST, yet using GET.
$sort = $_POST['order'];

Ещё вопросы

Сообщество Overcoder
Наверх
Меню