似乎无法返回数据库中的所有值以进行显示

时间:2019-01-19 23:46:55

标签: php

我为我的网站创建了一个简单的upvote系统,但有一个小错误,它无法捕获我需要显示的所有ID。问题是我在数据库中为用户投票的每个项目的ID都有多个重复值。 我创建了一个单独的投票表,以便在投票后更新箭头颜色。

下面是显示结果的代码,它处于foreach循环中:

if(isset($_SESSION['user_session'])){ 
    if(($row['voteLikes_topic'] == $row['topic_id']) && ($row['voteLikes_user'] == $_SESSION['user_session'])){
        var_dump($row['voteLikes_topic']);
        $returnValues .=    '<a href="#" id="upVoteColorChangeID'.$row['topic_id'].'" class="upVoteArrow fullClickLink" style="color:#bd2204;" onclick="upVoteIncrementValue('.$row['topic_id'].');"><i class="fa fa-arrow-up"></i></a> ';  
    }else{
        $returnValues .=    '<a href="#" id="upVoteColorChangeID'.$row['topic_id'].'" class="upVoteArrow fullClickLink" onclick="upVoteIncrementValue('.$row['topic_id'].');"><i class="fa fa-arrow-up"></i></a> ';
    }
}

以下是数据库中用于投票结果的列:

enter image description here

以下是查询:

 $query = "SELECT       
        count(replies.reply_topic) as replyCount,
        topics.topic_id,
        topics.topic_subject,
        topics.topic_date,
        topics.topic_cat,
        topics.topic_picture,
        topics.topic_creator,
        topics.topic_likes,
        users.user_id,
        users.username,
        profile.profile_id,
        profile.profile_pictureMain,
        profile.profile_users,
        savelink.saveLink_id,
        savelink.saveUser_id,
        savelink.link_id,
        votelikes.voteLikes_user,
        votelikes.voteLikes_topic,
        votelikes.voteLikes_hot,
        votelikes.voteLikes_cold
        FROM
            topics
        LEFT JOIN
            users
        ON
            topics.topic_creator = users.user_id
        LEFT JOIN
            replies
        ON
            replies.reply_topic = topics.topic_id
        LEFT JOIN
            profile
        ON
            profile.profile_users = users.user_id
        LEFT JOIN
            savelink
        ON
            savelink.link_id = topics.topic_id
        LEFT JOIN
            votelikes
        ON
            votelikes.voteLikes_topic = topics.topic_id
        GROUP BY
            topics.topic_id
        ORDER BY
            topics.topic_date DESC 
        LIMIT ?, ?
        ";

这是查询显示的内容(为清楚起见)

enter image description here

所以现在发生的事情是,一旦它为41的“ voteLikes_user” ID抓住了66的“ voteLikes_topic”值,那么如果我以6的voteLikes_user ID登录,并且在“列”的列中也有一个值表决投票表主题66,它将不会在数据库中显示第二个值。

简而言之:由于'voteLikes_topic'值为'66'首先是'voteLikes_user'值为'41',因此对于表决投票用户值6而言,voteLikes_topic值为66不会显示。

我知道这是一个简单的查询问题,但找不到。预先感谢。

0 个答案:

没有答案