gpt4 book ai didi

php - 使用 ORDER BY 或 PHP 排序函数对 MySQL 查询进行排序

转载 作者:行者123 更新时间:2023-11-29 01:33:51 25 4
gpt4 key购买 nike

我有一个查询,我想按字母顺序排序,但诀窍是我希望排序对两列同等对待。例如,如果 first_col 的第一行等于 applesecond_col 的第二行等于 aardvark 我想要second_col 第二行中的值将在 first_col 第一行中的值之前列出。值(不是NULL'')将始终存在于second_col 的每一行中,但first_col 中的值> 可以是 ''。希望我已经解释得足够好了。我不在乎我是否必须为此使用 MySQL 或 PHP,但是一旦排序,数组就会被读取并回显到 HTML 表中。有什么想法吗?

编辑

这就是我现在的代码。在我的 MySQL 查询中,我需要 b_namel_name 相等。 b_name 列并不总是有值。当我将值放入表中时,它基于 b_name 的存在。如果 b_name 不存在,则 f_namel_name 组合起来替换 b_name

                $query = "SELECT * FROM customers ORDER BY b_name, l_name";
$result = mysql_query($query);
mysql_close($link);

$num = mysql_num_rows($result);

for ($i = 0; $i < $num; $i++){

$row = mysql_fetch_array($result);

$class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row";

if($row[b_name]!=''){
echo "<tr class=".$class.">";

echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[c_id]."</a></td>";
echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[b_name]."</a></td>";
echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[phone]."</a></td>";

echo "</tr>";

}

else{
echo "<tr class=".$class.">";

echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[c_id]."</a></td>";
echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[f_name]." ".$row[l_name]."</a></td>";
echo "<td><a href=Edit_Customer.php?c_id=".$row[c_id].">".$row[phone]."</a></td>";

echo "</tr>";

}


}

?>

</table>

最佳答案

如果你的表格非常相似,你可以这样做

在我的例子中,我有一个包含 2 列 idname 的表 test_a

(SELECT * FROM test_a a1) 
UNION ALL
(SELECT * FROM test_a a2)
ORDER BY name DESC

关于php - 使用 ORDER BY 或 PHP 排序函数对 MySQL 查询进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3145118/

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