【发布时间】:2016-04-15 10:09:53
【问题描述】:
我有user_id(int(10)) and follow_sub(varchar(30)) 的表“user_following”(用户关注的所有订阅者)
“user_likes”(用户的所有喜欢)表与user_id(varchar(15)) and post_sub(varchar(15))
和user_id(int(10)) post_txt(text) sub_id(varchar(30) parallel to follow_sub) post_unix_time(float)的“user_post”
我有两种方式来排序帖子:
1) 通过用户关注的最新帖子,订阅者:
$result11="SELECT * FROM user_post
INNER JOIN users_following ON user_post.sub_id=users_following.follow_sub
WHERE users_following.user_id='$userid'
ORDER BY user_post.post_id DESC";
2) 通过计算每篇文章的点赞数的算法,但包含所有订阅者(即使用户不关注它们):
$result11="SELECT user_post.*, (LOG10(ABS(COUNT(user_likes.post_id)) + 1) * SIGN(COUNT(user_likes.post_id)))/user_post.post_unix_time AS like_count
FROM user_post LEFT JOIN user_likes
ON user_post.post_id = user_likes.post_id
GROUP BY user_post.post_id
ORDER BY like_count desc;";
我想结合这两个连接 - 使用 LIKES ALGORITHM 将帖子呈现给他关注的订阅者的用户。
这是我尝试的方式,但它显示错误-mysql_num_rows() expects parameter 1 to be resource, boolean given in:
$result11="SELECT user_post.*, (LOG10(ABS(COUNT(user_likes.post_id)) + 1) * SIGN(COUNT(user_likes.post_id)))/user_post.post_unix_time AS like_count
FROM user_post.*
LEFT JOIN user_likes ON user_post.post_id = user_likes.post_id
INNER JOIN users_following ON user_post.sub_id=users_following.follow_sub
WHERE users_following.user_id='$userid'
GROUP BY user_post.post_id
ORDER BY like_count DESC";
我怎样才能让它工作?
【问题讨论】:
-
肯定来自用户帖子。* 应该来自用户帖子