好吧,我是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?
答案 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'];
}