php - 在用户表中对一组用户进行排序

标签 php mysql sql

我有用户表,我将所有用户(管理员、作者和普通用户)存储在该表中。我想对作者(在报纸上发表专栏文章的作者)进行排序。那么我应该走哪条路呢?我不知道该怎么办。虽然我尝试了一些方法。我在用户表中添加了一个“订单”列,但我不知道下一步该做什么。请给我一些建议。我的表结构:

+----+-----------------+------------------+-------+-----------+-------+
| id | username        | password         | order | is_author | level |
+----+-----------------+------------------+-------+-----------+-------+
|  1 | admin2          | pass             |     0 |         0 |     3 |
|  2 | admin1          | pass             |     0 |         0 |     3 |
|  3 | writer&admin    | pass             |     0 |         1 |     3 |
|  4 | normaluser      | pass             |     0 |         0 |     0 |
|  5 | writer          | pass             |     0 |         1 |     1 |
+----+-----------------+------------------+-------+-----------+-------+

其他信息:

3级 - super 管理员 2级-编辑(只能添加新闻和管理用户) 1 级 - 作者 0级-普通用户

为什么需要 is_author 列?

因为每个编辑者或 super 管理员都不是作家。对于那些既是作者又是管理员的人,我添加了一个附加列 is_author。

给我一​​些建议。

最佳答案

根据您的方法,创建 2 个表格 -

1) 用户
2)用户角色


用户表:

 +----+-----------------+------------------+--------------+----------+
 | id | username        | password         | role_id (FK) | priority |
 +----+-----------------+------------------+--------------+----------+
 |  1 | admin2          | pass             |            1 | NULL     |
 |  2 | admin1          | pass             |            1 | NULL     |
 |  3 | writer&admin    | pass             |            2 | 1        |
 |  4 | normaluser      | pass             |            4 | NULL     |
 |  5 | writer          | pass             |            3 | 3        |
 +----+-----------------+------------------+--------------+----------+


user_role 表:

 +----+---------------------------+--------+
 | id | role                      | level  |
 +----+---------------------------+--------+
 |  1 | admin                     | 1      |
 |  2 | writer and admin          | 2      |
 |  3 | writer                    | 3      |
 |  4 | user                      | 4      |
 +----+---------------------------+--------+  

关于php - 在用户表中对一组用户进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24467078/

相关文章:

仅当使用限制时才显示 php 和 mysql 查询结果

c# - 简单的一对多 fluent-nhibernate

python - Xcode gcc 退出状态 1

php - 为什么 MySQL INSERT 查询会出错?错误是什么意思?

java - 将长整型转换为原始 jdbc

sql - 动态 SQL 中无效的伪列错误

php - 尽管对文件进行了更改,但 filemtime() 在执行期间保持不变

php - 用文本回显 MySQL 字符串,然后用 CSS 设置样式

javascript - JQuery/AJAX 无法从 PHP 文件获取响应

mysql - SQL按列内容搜索,并让列名位于结果表的第一列