PHP - 查询后如何从超过1行获取信息?只获得第一排?

时间:2016-06-28 23:14:28

标签: php mysql

好吧,我是PHP的新手,已经建立了一个基本的PM系统。在div中,我试图显示用户登录的用户已开始与之对话,这意味着我的对话表中存在一行,其中user_one是已登录用户的ID,user_two是其他用户的用户' s ID。

我已设法获取用户已打开的会话数以及数据库中列出的FIRST CONVERSATION的user_two ID:

$con = mysqli_connect("localhost","username","password","sqlserver");

                    //$num = mysqli_query($con, "SELECT * FROM `pm_messages` WHERE user_from=".$account['id']."");
                $numCon = mysqli_query($con, "SELECT * FROM `conversation` WHERE user_one=".$account['id']."");
                    $numrows = mysqli_num_rows($numCon);
                $u =  mysqli_fetch_assoc($numCon);

                    for($i=0; $i<$numrows; $i++)
                    {
                        //echo "<a href='message.php?id={$row['id']}'><li> $i</li></a>";
                        echo $u['user_two'];
                    }

然后尝试使用for循环来回显出与用户打开对话的所有用户的链接,但我不知道如何&#34;移动行&#34;,可以这么说。

echo $u['user_two']; 

以上只是回复了第一个user_two 3次,因为有3次会话。如何获得其他2个用户ID?

2 个答案:

答案 0 :(得分:1)

fetch放入循环中。每次拨打fetch时,它都会检索下一行行,在您阅读完最后一行后,下一次调用fetch会返回 null < / strong>即可。通常的习惯是使用fetch来调节while循环,如下所示:

while ($u = mysqli_fetch_assoc($numCon))
{
    //echo "<a href='message.php?id={$row['id']}'><li> $i</li></a>";
    echo $u['user_two'];
}

答案 1 :(得分:0)

使用while()循环它 试试这个:

 $con = mysqli_connect("localhost","username","password","sqlserver");

                //$num = mysqli_query($con, "SELECT * FROM `pm_messages` WHERE user_from=".$account['id']."");
            $numCon = mysqli_query($con, "SELECT * FROM `conversation` WHERE user_one=".$account['id']."");
                $numrows = mysqli_num_rows($numCon);
           while($u =  mysqli_fetch_array($numCon))


                {
                    //echo "<a href='message.php?id={$row['id']}'><li> $i</li></a>";
                    echo $u['user_two'];
                }