【发布时间】:2016-11-23 21:39:13
【问题描述】:
我有一个搜索结果页面,其中包含一个简单的表单来过滤结果顺序,我希望表单能够过滤:
ORDER BY - ASC 或 DESC - 以及 MySQL 查询中的 PER PAGE LIMIT
这是我尝试使用的过滤订单的代码
$order_by = mysqli_real_escape_string($database,$_GET['order_method']);
$query = mysqli_query($database,"SELECT * FROM `products`
order by `<?php if(empty($order_by)){echo "id";}else{echo "$order_by"; ?>` ASC");
它不工作......我在 >php 第 22 行遇到错误,这一行是上面的代码行
这个想法是,如果用户来到默认页面,我显然不会得到 $order_by,所以在这种情况下,order by 将是默认的
echo "id"
但是,如果客户使用 html 表单过滤结果,并且我通过更改客户在这种情况下使用 html 表单发送的值来获得“order_by”mysql 查询订单
echo "$order_by"
我正在尝试很多方法来做到这一点,但似乎没有一种方法有效,任何想法都会有很大帮助
【问题讨论】:
-
为什么要让您的查询复杂化?
-
您不能在 php 部分中使用 php 标签。带他们出去。 .
-
所以如果我删除 标签应该可以工作?