Php 显示具有某些特殊条件行的所有行
我有两张桌子: 项目 股票 其中两个表中的Php 显示具有某些特殊条件行的所有行,php,mysql,Php,Mysql,我有两张桌子: 项目 股票 其中两个表中的created\u由列所创建的是指用户表的ID 我正在尝试获取由用户获取的项目行。如果用户创建了一个is_private行,则该行应添加到结果中 我希望结果根据用户访问信息的情况而灵活 例如: 如果用户id:3正在访问上述信息: item_id created_by stock_id 1 1 4 3 3 8 item_id
created\u由
列所创建的是指用户
表的ID
我正在尝试获取由用户获取的项目行。如果用户创建了一个is_private
行,则该行应添加到结果中
我希望结果根据用户访问信息的情况而灵活
例如:
如果用户id:3
正在访问上述信息:
item_id created_by stock_id
1 1 4
3 3 8
item_id created_by stock_id
1 1 4
2 2 5
3 3 8
如果用户id:2
正在访问上述信息:
item_id created_by stock_id
1 1 4
3 3 8
item_id created_by stock_id
1 1 4
2 2 5
3 3 8
在上面,我得到了三行,因为用户id:2
创建了一个是私有的:1
(如果您检查项
表)
我尝试了以下方法:
SELECT
item_id, created_by, stock_id
FROM items
^显然,在上面尝试过的查询中,我不知道如何执行此操作。您可以尝试以下操作:
SELECT item_id,
created_by,
stock_id
FROM items
WHERE is_private = 0 OR
created_by = :user_id
我很难理解决定预期输出的逻辑。@TimBiegeleisen到目前为止我所理解的是:具有
的记录是\u private=0
的记录对任何人都是公开的。因此,特定用户只能访问那些公共记录+他创建的记录。@TimBiegeleisen基于查询的结果行应取决于访问信息的用户。如果一行有是\u private:1
,并且该行是由访问信息的用户创建的,那么该行也应该在结果行中可见,否则它不应该可见。@TimBiegeleisen,也许格林先生是从非SQL主题中的问题中得到他的代表。@BillKarwin一个很好的解释。选择项\u id,由,股票id
看起来比SELECT*
好。它总是@RohanKumar:)。顺便说一句,蒂姆是这个答案的事件监听器:p。谢谢蒂姆!刚刚意识到这比我在这里介绍的要复杂得多。无论如何,谢谢:)