В то время как цикл извлекает только один результат - PullRequest
0 голосов
/ 01 июля 2011

ОБНОВЛЕНИЕ: Все еще не могу понять это. Если кто-то может протянуть руку помощи, это будет оценено ^^.

У меня проблема, и я не уверен, где мой код ломается. У меня есть функция «следовать», где вы можете следить за различными зарегистрированными пользователями. Их 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> &bull; $when_bc &bull; Via: $dev <b>$bc</b></td></tr>";
    }
    broadcastList .= "</table>";
  }
}

Итак, он полностью извлекает участников, но не больше, чем их единственная последняя «трансляция». Любое понимание будет оценено .. спасибо!

Ответы [ 2 ]

2 голосов
/ 01 июля 2011

Вот что происходит:

while( $row = some_next_result_function() ){
    $result = $row["thing"];
}

Каждый раз будет перезаписывать $result, поэтому вы получите только последний результат.

Вам необходимо составить списоки добавить к нему вместо этого.

0 голосов
/ 02 сентября 2011

Я сделаю снимок в темноте:

$broadcastList .= "<td><a href='member.php?id=' .$value. ''>
  $friendUserName</a> &bull; $when_bc &bull; Via: $dev <b>$bc</b></td></tr>";

В этой строке практически отсутствует начальный элемент "tr". Вы уверены, что контент не отображается просто из-за неправильной разметки HTML?

Также:

broadcastList .= "</table>";

Вы упускаете $ там;).

Я не знаю, исправляет ли это или даже помогает вам; но я очень на это надеюсь :). В качестве альтернативы; Вы также можете проверить исходный код HTML, чтобы увидеть, действительно ли там нет записей (см. первое замечание).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...