Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 而循环仅检索一个结果_Php_Mysql_While Loop - Fatal编程技术网

Php 而循环仅检索一个结果

Php 而循环仅检索一个结果,php,mysql,while-loop,Php,Mysql,While Loop,更新:似乎还没弄明白。如果有人能伸出援手,我将不胜感激 我遇到了一个问题,我不确定我的代码在哪里崩溃了。我有一个“跟踪”功能,您可以跟踪不同的注册用户。您跟踪的用户ID存储在一个数组(follower_数组)中。它从数组中检索每个成员,但在随后的每个成员中,它只显示每个成员的1个最新成员,而不是显示所有内容 $broadcastList= ""; if ( $follower_array != "" ) { $followArray = explode(",", $follower_ar

更新:似乎还没弄明白。如果有人能伸出援手,我将不胜感激

我遇到了一个问题,我不确定我的代码在哪里崩溃了。我有一个“跟踪”功能,您可以跟踪不同的注册用户。您跟踪的用户ID存储在一个数组(follower_数组)中。它从数组中检索每个成员,但在随后的每个成员中,它只显示每个成员的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> &bull; $when_bc &bull; Via: $dev <b>$bc</b></td></tr>";
    }
    broadcastList .= "</table>";
  }
}
$broadcastList=”“;
如果($follower\u数组!=“”){
$followArray=分解(“,”,$followArray);
$followCount=计数($followArray);
$i=0;
$broadcastList.=“”;
foreach($followArray作为$key=>$value){
$i++;
$sqlName=mysql\u查询(“
选择用户名、全名
来自成员
其中id=“$value”
限制1
)或死亡(“错误!”);
while($row=mysql\u fetch\u数组($sqlName)){
$friendUserName=substr($row[“username”],0,12);
}
$sqlBroadcast=mysql\u查询(“
选择mem_id、bc、bc_日期、设备
从广播
其中mem_id=“$value”
按bc\U日期ASC订购
限制50
)或死亡(“错误!”);
而($bc\u row=mysql\u fetch\u数组($sqlBroadcast)){
$mem_id=$bc_行['mem_id'];
$bc=$bc_行['bc'];
$dev=$bc_行['device'];
$bc_日期=$bc_行['bc_日期];
$broadcastList.=“&bull;$when_bc&bull;Via:$dev$bc”;
}
广播列表=“”;
}
}

因此,它将检索所有成员,但不超过他们的单个最新“广播”。任何洞察都将不胜感激。。谢谢大家!

发生的事情如下:

while( $row = some_next_result_function() ){
    $result = $row["thing"];
}
每次都将覆盖
$result
,因此您只能得到最后一个结果


你需要做一个列表,然后添加到列表中。

我要在黑暗中拍摄:

$broadcastList .= "<td><a href='member.php?id=' .$value. ''>
  $friendUserName</a> &bull; $when_bc &bull; Via: $dev <b>$bc</b></td></tr>";
$broadcastList.=“&bull;$when\u bc&bull;Via:$dev$bc”;
这一行几乎遗漏了起始“tr”元素。您确定内容不会仅仅因为错误的html标记而显示吗

此外:

broadcastList.=”;
您丢失了那里的美元;)


我不知道这是否能解决问题,甚至对你有帮助;但我确实希望如此:)。或者;您还可以检查HTML源代码,看看条目是否真的不存在(请参见第一句话)。

编程不是一场竞赛,看您可以在每行中塞进多少内容。将代码块缩进新行(特别是如果您要麻烦使用
{}
),并保持代码正确缩进…对于其他所有有不同想法的人,还有perl-golf。。没有竞争?我以为我会得到一个stackoverflow徽章,用于最长的线路!:)。很抱歉,代码被编辑得更友好了。@Matthew:无意冒犯,但这并没有多大改进。@x3ro:再次编辑。现在这就是它的样子,我…我有一种下沉的感觉,就是这么简单。非常感谢。不幸的是,我更改了$row结果,但仍然只返回1个结果。您故意检索1个friendUserName。您确定该用户有多个广播吗?是的,我为每个用户输入了10个广播的虚拟数据。
broadcastList .= "</table>";