我在mysql数据库中有两个表
- tbl_comments
- tbl_user_votes
tbl_user_votes 中有三个字段
1. comment_id, 2. user_id, 3.vote_type ('L' OR 'D') (L for Like, D For Dislike)
我有一个分页方案,据此我的每个网页都有 20 条评论。每条评论都有一个喜欢和不喜欢的按钮。当一个登录的用户点击喜欢或不喜欢时,三个值被插入tbl_users_votes, 1. comment_id, 2. user_id, 3. vote_type (L OR D).
我希望当页面重新加载时,他点击“喜欢”或“不喜欢”的所有评论必须在评论下方显示“你喜欢”或“你不喜欢”。
我的问题是,我不会为这个问题制定一个有效的算法。我想过这样的解决方案。
我必须为每个这样的评论运行 SQL 查询"SELECT * From tbl_user_votes where comment_id = xyz and user_id = xyz"
,然后检查是否存在针对该 user_id 和 comment_id 的某些值。如果存在,那么我检查每个评论的值和 Put 和 If else 条件,如下所示
If(vote_found)
If(vote_type=='L')
echo "You Like"
else if(vote_type=='D')
echo "You Dislike'
但我认为这不是一种有效的方法。它看起来非常内存和耗时的过程,好像页面上有 20 条评论,并且每条评论对数据库的 sql 查询非常昂贵。
任何人都可以有一些更好,更有效的方法来处理这个问题。