更新:似乎仍无法弄明白。如果有人可以伸出援手,我们将不胜感激^^。
我遇到了问题,我不确定我的代码在哪里发生故障。我有一个'跟随'功能,您可以跟随不同的注册用户。他们关注的用户ID存储在数组中(follower_array)。它从数组中检索每个成员,但是每个成员都跟踪而不是显示所有内容,它只显示每个成员的最新成员。
$broadcastList= "";
if ( $follower_array != "" ) {
$followArray = explode(",", $follower_array);
$followCount = count($followArray);
$i = 0;
$broadcastList .= "<table>";
foreach( $followArray as $key => $value ) {
$i++;
$sqlName = mysql_query("
SELECT username, fullname
FROM members
WHERE id='$value'
LIMIT 1
") or die ("error!");
while ( $row = mysql_fetch_array($sqlName) ) {
$friendUserName = substr($row["username"],0,12);
}
$sqlBroadcast = mysql_query("
SELECT mem_id, bc, bc_date, device
FROM broadcast
WHERE mem_id='$value'
ORDER BY bc_date ASC
LIMIT 50
") or die ("error!");
while ( $bc_row = mysql_fetch_array($sqlBroadcast) ) {
$mem_id = $bc_row['mem_id'];
$bc = $bc_row['bc'];
$dev = $bc_row['device'];
$bc_date = $bc_row['bc_date'];
$broadcastList .= "<td><a href='member.php?id=' .$value. ''>
$friendUserName</a> • $when_bc • Via: $dev <b>$bc</b></td></tr>";
}
broadcastList .= "</table>";
}
}
所以,它正在完全检索成员,但不会超过他们最新的“广播”。任何见解将不胜感激..谢谢!
答案 0 :(得分:2)
以下是发生的事情:
while( $row = some_next_result_function() ){
$result = $row["thing"];
}
每次都会覆盖$result
,所以你只会得到最后的结果。
您需要制作一个列表并添加到其中。
答案 1 :(得分:0)
我要在黑暗中拍摄:
$broadcastList .= "<td><a href='member.php?id=' .$value. ''>
$friendUserName</a> • $when_bc • Via: $dev <b>$bc</b></td></tr>";
那条线几乎错过了一个起始的“tr”元素。你确定因为错误的html标记而没有简单地显示内容吗?
此外:
broadcastList .= "</table>";
你错过了$那里;)。
我不知道这是否可以解决它,甚至可以帮助你;但我当然希望如此:)。另外;您还可以检查HTML源代码以查看条目是否真的不存在(请参阅第一条评论)。