2

我正在尝试制作一个搜索表单,以帮助用户从数据库中过滤他们的结果。

您如何根据从下拉列表中选择的选项对结果进行排序?

我的意思是排序,如果用户从列表中选择“名称”,当他们点击提交时,表格将显示所有数据,但名称将按升序或降序排列(也是用户选项)

表单(下拉列表和单选按钮示例):

<select name="sort">
    <option value="x">Select a field</option>
    <option value="1">Name</option>
    <option value="2">City</option>
    <option value="3">Occupation</option>
</select>
&nbsp;
ascending<input type="radio" name="sort_order" value="asc">
&nbsp;
descending<input type="radio" name="sort_order" value="desc">

询问:

if ($sort !== "x")
$SQL="SELECT * FROM data //what do I add here?//

实现这一目标的最有效方法是什么?任何帮助表示赞赏!
随意问我是否不清楚,因为我不确定如何很好地表达我的问题。

编辑:

我正在使用数组$value()在表格上显示数据。

样品展示:

for ($i=0;$i<$num_results;$i++)
        {
        $row=mysql_fetch_array($result);
        echo "<tr>";
        echo "<td>".$row["Name"]."</td>";
        if (in_array("City",$value))
        echo "<td>".$row["City"]."</td>";
           if (in_array("Occupation",$value))
           echo "<td>".$row["Occupation"]."</td>";

如何将结果保存为 my$sort$sort_orderinto $value()

4

2 回答 2

1
mysql_query("select * from data order by ".mysql_real_escape_string($_POST['sort'])." ".mysql_real_escape_string($_POST['sort_order']));

像这样编写你的 sql 查询

于 2012-05-18T03:39:42.683 回答
0
$sort = mysql_real_escape_string($_POST['sort']);
$sort_order = mysql_real_escape_string($_POST['sort_order']);
$SQL="SELECT * FROM data ORDER BY $sort $sort_order";
于 2012-05-18T03:37:47.413 回答