首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP未设置索引(如果不匹配)

PHP未设置索引(如果不匹配)
EN

Stack Overflow用户
提问于 2013-10-22 12:41:17
回答 1查看 76关注 0票数 0

我有两张有这些列的表(我只显示那些令人陶醉的):

代码语言:javascript
复制
tasks table
+----+------+
| id | todo |
+----+------+
| 1  | 0    |
| 2  | 1    |
| 3  | 1    |
| 4  | 0    |
| 5  | 1    |
+----+------+

entries table
+----+---------+---------+------+
| id | task_id | user_id | done |
+----+---------+---------+------+
| 1  | 3       | 1       | 1    |
| 2  | 5       | 2       | 1    |
| 3  | 5       | 1       | 1    |
| 4  | 2       | 1       | 0    |
+----+---------+---------+------+

我查询这些表,并且只保留taskstodo = 1中的位置,因此我已经在一个PHP中获得了数据。

然后,我有两个用户可以查看的列表:要执行的任务和归档的任务(完成)和要执行的任务。我可以生成第一个列表,如果每个任务和条目具有匹配的task_id ( user_id == $loggeduser && done == 1 ),则循环遍历它们,并取消不匹配任务和条目的索引。但是,我找不到逻辑来处理我的归档列表,因为我没有要匹配的条目。我如何循环我的任务,并且只为用户保留已完成的任务?在本例中,对于用户1的归档列表,我只保留任务id 3和5,而对于用户2,只保留任务id 2。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-22 13:03:37

您可以使用普通SQL来完成所有这些工作(我想您使用的是一些关系数据库)。

这个查询为您提供了"todo & done“的所有任务。若要使任务"todo & not“,只需将"e.done = 1”更改为"e.done = 0“即可。我相信你会明白的。

代码语言:javascript
复制
SELECT * FROM tasks t
  INNER JOIN entries e ON t.id = e.task_id
    AND e.user_id = [logged_user_id]
    AND e.done = 1
WHERE
  t.todo = 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19518176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档