我受困于此,整个星期我都在通过 PHP 速成类制作一个类似亚马逊的假网站!我想使用下拉菜单订购我的餐 table ,但不知道如何操作!我知道 SQL 很简单,但我尝试这样做的方式如下:
例如设置变量
$query = "SELECT bookname, bookauthor, bookpub, bookisbn
FROM booktable
ORDER BY bookname ASC";
$query2 = "SELECT bookname, bookauthor, bookpub, bookisbn
FROM booktable
ORDER BY bookauthor ASC";
然后我有我的表格=
<form name="sort" action="products.php" method="post">
<select name="order">
<option value="choose">Make A Selection</option>
<option value="title">Title</option>
<option value="author">Author</option>
<option value="publisher">Publisher</option>
<option value="isbn">Book ISBN-10</option>
</select>
<input type="submit" value=" - Sort - " />
</form>
现在我不能做的一点,
我设置了变量:
$sort = $_POST['order'];
因此无论下拉菜单的值是什么,都将分配给变量 $sort.....(对吗?)
然后我想说如果 $sort 的值与让我们说 'author' 比 $query = $query2 相同 但我不知道怎么说才不会出现 XAMPP 的巨大错误!
我希望这一切都有意义,并且我尝试实现它的方法接近正确
谢谢
最佳答案
为了排序,我会执行以下操作:
更改选项值以匹配表中的列名 如果他们没有选择任何东西,请设置您的排序选项,包括默认值:
$sort=$_POST["order"]!="choose"?$_POST["order"]:"bookname";
然后只需将您的查询设置为使用:
ORDER BY ".mysql_real_escape_string($sort)." ASC
这样你只需要一个查询,而不是每个案例一个查询。
关于PHP - 使用下拉菜单对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9387113/