首页 > 解决方案 > 没有在 php mysql 中获取正确的数据

问题描述

表:请求

id          friend_id           candidate_id
==          ==============      ==============
1           20180928115958      20180925112428

2           20181008181142      20180925112428

3           20180928115958      20181008181142

4           20181010181207      20180928115958

5           20181008181142      20181010181207

6           20181010181207      20180925112428

询问

<?php
    $_SESSION['candidate_id']=20181010181207;

    $sql_ac = mysqli_query($con,"select friend_id,candidate_id from request where candidate_id='".$_SESSION['candidate_id']."' or friend_id='".$_SESSION['candidate_id']."'");
    while($row_ac = mysqli_fetch_array($sql_ac))
    {
        if($row_ac['friend_id']==$_SESSION['candidate_id'] && $row_ac['candidate_id']==$_SESSION['candidate_id'])
        {
            echo "";
        }
        else
        {
            echo $row_ac['friend_id']."<br/><br/>";
            echo $row_ac['candidate_id']."<br/><br/>";
        }
    }
?>

意外输出:

20181010181207

20180928115958

20181008181142

20181010181207

20181010181207

20180925112428

预期产出

20180928115958

20181008181142

20180925112428

在这段代码中,我有一个表request,它有两个关键字段friend_id,即candidate_id. 现在,我$_SESSION['candidate_id']='20181010181207'。那么,如上所述,我怎样才能获得预期的输出?请帮我。

谢谢你

标签: phpmysqli

解决方案


我想你想要:

while($row_ac = mysqli_fetch_array($sql_ac))
{
    if($row_ac['friend_id'] != $_SESSION['candidate_id']
        echo $row_ac['friend_id']."<br/><br/>";
    }
    if($row_ac['candidate_id'] != $_SESSION['candidate_id']
        echo $row_ac['candidate_id']."<br/><br/>";
    }
}

这将显示与“输入”不同的值,换句话说,删除20181010181207条目。

或作为单行者:

echo $row_ac['candidate_id']==$_SESSION['candidate_id'] ? $row_ac['friend_id] : $row_ac['candidate_id'];

推荐阅读