我正在使用一行返回特定项目的所有用户,这不是问题。但是,我该如何排序才能使第一个结果始终是登录用户。
我看到了两个解决方案,我都尝试过但都没有成功:
打印用户名,然后使用 if 语句仅打印与用户名不同的行的其余部分。
print user's name; if (username !== user's name) { print this name; }
连续打印它们,但以某种方式排序,以便当前用户位于顶部。
有什么想法吗?
编辑
我现在正在尝试使用以下代码:
$query7 = mysql_query("SELECT users_ID FROM projects_users WHERE projects_id = '$id' AND WHERE users_id <>'$q6[0]'") or die(mysql_error());
但是我得到了错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE users_id <>'1'' at line 1
我试过用 != 和 NOT 代替 <> 但我看不出哪里出了问题!
没关系,修复它。为了将来引用,不确定在哪里两次;)
谢谢大家的帮助。
最佳答案
您的第一个解决方案是完美的。
如果你想使用你的第二个解决方案,你应该像这样构建你的 SQL 查询:
(SELECT * FROM user WHERE id = :currentUserID) UNION (SELECT * FROM user)
你很好
关于PHP/MySQL - 排序行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238203/