我正在尝试制作一个搜索表单,以帮助用户从数据库中过滤结果。
如何根据从下拉列表中选择的选项对结果进行排序?
我的意思是排序,如果用户从列表中选择"名称",当他们点击提交时,表格将显示所有数据,但名称将按升序或降序排序(也是用户选项(
表单(下拉列表和单选按钮的示例(:
<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>
ascending<input type="radio" name="sort_order" value="asc">
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>";
如何将$sort
的结果保存到$value()
中$sort_order
?
mysql_query("select * from data order by ".mysql_real_escape_string($_POST['sort'])." ".mysql_real_escape_string($_POST['sort_order']));
像这样编写 sql 查询
$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";