gpt4 book ai didi

php - 如何在不使用 PHP 中的 sort() 函数或 SQL 中的 ORDER BY 的情况下使用名称值对表值进行升序和降序排序?

转载 作者:行者123 更新时间:2023-11-30 22:58:28 26 4
gpt4 key购买 nike

我使用以下代码获取我的结果表,我需要根据分别单击“升序”或“降序”按钮和我的名称值来对该表进行排序。我如何为此制作自定义 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()' 中编写什么来实现这个?我需要这个作为自定义 php 函数吗??

最佳答案

假设您要传递一个名为“sort”的值。对于降序,它可以是“dsc”,对于升序,它可以是任何其他(或未指定)。

首先,从解析值开始:

$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 是语句的一部分,而不是参数)。

关于php - 如何在不使用 PHP 中的 sort() 函数或 SQL 中的 ORDER BY 的情况下使用名称值对表值进行升序和降序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com