PHP/MySQL - 排序行

标签 php mysql

我正在使用一行返回特定项目的所有用户,这不是问题。但是,我该如何排序才能使第一个结果始终是登录用户。

我看到了两个解决方案,我都尝试过但都没有成功:

  1. 打印用户名,然后使用 if 语句仅打印与用户名不同的行的其余部分。

    print user's name;
    if (username !== user's name) {
        print this name;
    }
    
  2. 连续打印它们,但以某种方式排序,以便当前用户位于顶部。

有什么想法吗?

编辑

我现在正在尝试使用以下代码:

$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/

相关文章:

php - 向MySql表中依赖插入数据

mysql - 是否可以使用 2 个不同的表更新某个列值并删除它?

mysql - 获取第一个字符不是字母数字的行

php - Centos 7/Apache/PHP - mkdir() : Permission denied

php - 使用 php 进行 upsert 后获取 mongodb _id 对象

javascript - 如何捕获 html 属性的值并将其写入 html 中的文本?

PHP 必须先保存 JSON 字符串并再次打开它,才能使用它

php - session.gc_maxlifetime 和 session.cookie_lifetime 之间的问题

php - 在 session 中存储随机选择的行?

mysql多个相似表查询[好像不重复]