我想包括一个功能,可以让我的网站的用户按名称或价格对搜索结果进行排序。MYSQL/PHP的 - 如何使从MySQL排序结果“排序”下拉列表
这很简单,因为我打算做的是通过php更改mysql查询。
所以基本上查询看起来是这样的:
$searchResultQuery = "
SELECT id, name, price
FROM items
WHERE MATCH (name)
AGAINST ('{$GLOBALS['input']}' IN BOOLEAN MODE)
ORDER BY $GLOBALS['sort']
";
和HTML看起来是这样的:
<form>
<select name="sort" id="sort" style="float: left;">
<option value="name">Name</option>
<option value="price">Price</option>
</select>
</form>
我想要做什么,是有形式自动提交时,一个新的选择是选择。如在默认情况下,结果按名称排序,但如果用户选择价格,那么它将调整结果以按照价格顺序显示。如果用户不需要点击某种提交按钮,就会发生这种情况。因为我对JavaScript有着非常暗淡的认识,所以我一直在阅读一些html5补充,并且似乎没有什么可以说明这一点。这可能没有使用javascript或我不得不学习如何使用onchange
属性?
如果有人对此有任何意见,将不胜感激,谢谢!
编辑:
这将是我所加入控制器,但我认为这是没有被通过的原因:
if (isset($_POST['sort']))
{
$GLOBALS['sort'] = $_POST['sort'];
}
如何将我的表格值增加全局变量?
您是否困惑Java和Javascript? – 2011-12-26 08:57:12
@Sergei Tulentsev不,没有混淆,只是我的措辞有问题,现在已经纠正,谢谢! – 2011-12-26 10:02:00
**警告!**接受的答案是[基本上不安全,直接导致SQL注入!](https://phpdelusions.net/pdo/sql_injection_example#escaping)请参阅顶部链接的答案以获得正确的解决方案 – 2017-03-03 05:50:56