PHP - 使用下拉菜单对列表进行排序

标签 php html drop-down-menu sql-order-by

我受困于此,整个星期我都在通过 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/

相关文章:

php - 无法从 paypal IPN 沙箱获得响应

Qt QML 下拉列表就像在 HTML 中一样

javascript - 使用 Chart.js 和 mySQL 绘制饼图

php - 无需用户交互的 oAuth

PHP (Joomla 2.5) 执行未返回 Apache?

javascript - 如何将ID Token和Access Token作为cookie从AWS传递并检查它们是否过期?

html - 使元素延伸到整个屏幕

html - 如何使下拉菜单淡入淡出过渡?

c# - 如何通过 javascript 填充 asp 下拉列表?

html - 下拉菜单不起作用