我使用以下代码来获取我的结果表,我需要根据我的名称值分别单击“升序”或“降序”按钮对此表进行排序。
如何为此创建自定义php
功能?任何帮助将不胜感激。
<?php
require('config.php');
$sql_sel = "select * from contact";
$res_sel = mysql_query($sql_sel);
?>
<table><tr><td>Name </td><td>Email </td><td> Mobile</td><td>Web </td></tr>
<tr>
<?php
while($row_sel = myqsl_fetch_array($res_sel)){
$name = $row_sel['name'];
$email = $row_sel['email'];
$mobile $row_sel['mobile'];
$web =$row_sel['web'];
echo "<td>".$name."</td>";
echo "<td>".$email."</td>";
echo "<td>".$mobile."</td>";
echo "<td>".$web."</td></tr>";
}
?>
</table>
<input type="button" value="Ascending" onclick="ascending()">
<input type="button" value="Descending" onclick="descending()">
我从表中获取数据库表中的值,如执行顺序。 我的页面有两个按钮Ascending和Descending,在点击它时,它会根据名称值生成以升序和降序排列的表值。我应该用'ascending()'和'descending()'代码来实现这个目标?我需要将它作为一个自定义的php函数吗?
答案 0 :(得分:0)
我们假设您传递了一个名为&#34; sort&#34;的值。它可以是&#34; dsc&#34;用于降序,以及其他任何(或未指定)升序。
首先,从解析值开始:
$sortMode = 'ASC';
if (array_key_exists('sort', $_REQUEST)) {
if ($_REQUEST['sort'] == 'dsc') {
$sortMode = 'DESC'
}
}
稍后,当您创建查询时:
$sql_sel = "select * from contact order by name $sortMode";
这将导致数据库按正确的方向排序。
需要注意的一件重要事情是,永远不会将用户输入(例如$ _GET,$ _POST等)直接传递到您的SQL字符串中,这样您就不会暴露自己到SQL injection attacks。注意,这里我们测试$ _REQUEST参数并手动设置实际的PHP变量以避免这种情况。
在生产应用程序中,您应尽可能使用parameter binding(此处不相关,因为ASC / DESC是语句的一部分,而不是参数)。