【发布时间】:2018-07-27 16:11:44
【问题描述】:
我正在创建一个通知页面,其中 显示的通知有 4 种类型
1) someone liked your post
2) someone shared your post
3) someone added you as a friend
4) someone commented your post
我已经获得了每个语句的 sql 代码,但我仍然不知道如何在单个 while($a=sql_array()){} 循环中混合所有内容,我知道我应该按日期使用 UNION 和 ORDER,但是如何发布个性化输出对于显示的每种类型的通知
DESIRED OUTPUT
A liked your page
B comment your post
C liked your page
D comment your post
E added you as a friend
F liked your page
G comment your post
H shared your post
I added you as a friend
J shared your post
K shared your post
L liked your page
M added you as a friend
N shared your post
O added you as a friend
P liked your page
Q comment your post
R added you as a friend
S added you as a friend
T comment your post
D liked your page
我有 6 张桌子
table_users
table_posts
table_likes
table_shares
table_comments
table_community
每种类型的通知都遵循相同的模式
SELECT u.`name`, p.post, p.date as OrderDate
FROM likes (next shares, next, comments, community)
LEFT JOIN Users as u on likes.id_liker=u.id_user
LEFT JOIN Users as v on likes.liked_user_id=v.id_user
LEFT JOIN Posts as p on likes.liked_post_id=p.id_post
WHERE likes.liked_user_id=3
所以我使用由OrderDate 排序的UNION,他们检索结果但没有个性化类型的通知。我正在尝试总结,因为这是巨大的。
【问题讨论】:
-
你是什么意思,“没有个性化类型的通知”?
-
例如,第一个php输出行是
A added you as a friend,第二个是B commented your post,第三个是C liked your post,它们都来自一个while循环。跨度>
标签: php sql while-loop union