【发布时间】:2011-09-26 09:00:08
【问题描述】:
更新:似乎仍然无法弄清楚。如果有人可以伸出援手,将不胜感激^^。
我遇到了一个问题,我不确定我的代码哪里出了问题。我有一个“关注”功能,您可以在其中关注不同的注册用户。您关注的用户 ID 存储在数组 (follower_array) 中。它从数组中检索每个成员,但在随后的每个成员中,它不显示所有内容,而是仅显示每个成员的 1 个最新成员。
$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>";
}
}
所以,它会完全检索成员,但不会超过他们最近一次的“广播”。任何见解将不胜感激..谢谢!
【问题讨论】:
-
编程不是一场比赛,看你能在每一行塞进多少东西。在新行上缩进代码块(特别是如果您打算使用
{}'s)并保持您的代码正确缩进。 -
..对于其他想法不同的人来说,有 perl-golf。
-
等一下.. 没有比赛?我假设我会为最长的行获得一个 stackoverflow 徽章! :)。抱歉,代码已被编辑为更友好。
-
@Matthew:没有冒犯,但这并没有太大改善。
-
@x3ro:再次编辑。现在这就是它应该看起来的样子,IMO...
标签: php mysql while-loop