php - 返回期望的数组

标签 php mysql

我正在尝试整理一个让我绞尽脑汁的查询。

Users Table
===================
user_id primary key
role_id integer

Characters Table
=====================
character_id  integer
owned_by integer (0 if not owned and if owned will show user_id from users table)

对于每个角色,都需要运行特定类型的查询。

角色_id

  1. (粉丝):不运行任何查询。

  2. (基本用户):应该是返回的所有字符的列表,以及与该字符关联的 user_id

  3. (编辑器):应该是与该 user_id 和所有其他基本用户字符一起返回的字符列表,以及非自有字符

  4. (admins) 应该是与该 user_id 一起返回的字符列表以及所有其他基本用户和编辑器字符,以及非自有字符

  5. (网站管理员)应该是与该 user_id 一起返回的字符列表以及所有其他基本用户字符、编辑器字符以及拥有的管理员拥有的字符和不拥有的字符

我想过在一个查询中执行此操作,但我想知道这是否是一个坏主意。

最佳答案

为什么不使用switch命令?

switch($type) {
   case 'basic users' : 
    //do something
   break;
   case 'editors' : 
    //do something
   break;
   case 'admins' : 
    //do something
   break;
   case 'webmaster' : 
    //do something
   break;
   default:
     //Don't do anything, as no query is to be run
     //aka: fans
   break;
}

//do some的位置插入您需要的逻辑?

关于php - 返回期望的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18363170/

相关文章:

php - 我想显示数据库中的最后一条记录(行)

php - 在 Windows 上使用 PHP fork /线程的最佳方法是什么?

php - 在我的用户类中使用数据库类

javascript - 从mysql创建动态折线图实时数据

php - 在 PHP 中单独打印 MYSQL 表中的每一行

php - 在谷歌地图、PHP 和 MySQL 上进行附近位置搜索

当使用类似 %% 时,MySQL 查询返回整个表

PHP - 与 "Undefined offset"错误不一致

MySQL 计数选择查询条件

php - 如何根据不同币种的价格筛选产品?