按案例排序不使用php GET
我在一个PHP页面中显示了一个MYSQL数据库,按列“Seat”排序 我希望,如果用户单击“按名称排序”链接,表现在按此列排序按案例排序不使用php GET,php,mysql,Php,Mysql,我在一个PHP页面中显示了一个MYSQL数据库,按列“Seat”排序 我希望,如果用户单击“按名称排序”链接,表现在按此列排序 <?php include "connect.php"; $resulted = mysqli_query($con, "SELECT * FROM guests ORDER BY case WHEN Seat = '' THEN 2 ELSE 1 END, Seat"); if (isset($_GET['Name'])) {$resulted = mysq
<?php
include "connect.php";
$resulted = mysqli_query($con, "SELECT * FROM guests ORDER BY case WHEN Seat = '' THEN 2 ELSE 1 END, Seat");
if (isset($_GET['Name'])) {$resulted = mysqli_query($con, "SELECT * FROM guests ORDER BY case WHEN Name = '' THEN 2 ELSE 1 END, Name");}
?>
<a href='?Name=true'>Order By Name</a>
不要检查Seat='
尝试检查是否为空
case WHEN Seat IS NULL THEN 2 ELSE 1 END
(或)
SQL看起来不错。请提供我们可以重现问题的样本数据。比如什么?基本上就是这样。你能告诉我们你在哪里/如何回应这些吗?您是否检查了您的查询是否也失败了,或者您的PHP代码的其他部分是否也失败了?我重复一下:在表中提供数据,或者是它的一个子集来说明问题。我无法复制它:正如您所看到的,它是根据大小写排序的;这很可能就是你没有得到结果的原因。我所看到的与Name
相关的是GET数组的名称和当Name=''然后2 ELSE 1 END,Name
时。问题是这些列的默认值是'',而不是null。
case WHEN Seat IS NULL OR Seat = '' THEN 2 ELSE 1 END