Распечатать массив из нескольких строк в php - PullRequest
0 голосов
/ 23 декабря 2011

У меня есть запрос, который может вернуть несколько строк.

$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    $data[] = $row;
    foreach ($data as $row){
       echo $row['...'];
    }
}

Проблема в том, что он печатает только одну строку, а у меня должно быть напечатано 2 строки.

Может ли кто-нибудь помочь мнеиз

Ответы [ 5 ]

2 голосов
/ 23 декабря 2011

Возможно, проблема в том, что вы повторно используете переменную $row. Кроме того, логика немного странная: почему вы просматриваете $data каждый раз, когда выбираете новую строку? Вы хотели сделать это вместо:

while ($row = mysql_fetch_array($result)){
    $data[] = $row;
}

foreach ($data as $row){
   echo $row['...'];
}
0 голосов
/ 23 декабря 2011
    Do some changes in your code for check no. of results

$result = mysql_query($query);



    while ($row = mysql_fetch_array($result)){

        foreach ($row as $val){
           echo $val;
        }
    }
0 голосов
/ 23 декабря 2011

Может быть, проблема в том, что вы перебираете массив $ data в цикле while, я думаю, что вы хотите собрать все строки в $ data, и только когда перерывы while, для итерации, чтобы показать результаты.

$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    $data[] = $row;

}
foreach ($data as $row){
       echo $row['...'];
    }

Или я не так понял?

0 голосов
/ 23 декабря 2011
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    $data[] = $row;
    foreach ($data as $col){
       echo $col['...'];
    }
    echo '<br>';
}

OR

echo '<table>';
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    $data[] = $row;
    echo '<tr>';
    foreach ($data as $col){
        echo '<td>';
       echo $col['...'];
       echo '</td>';
    }
    echo '</tr>';
}
echo '</table'>;
0 голосов
/ 23 декабря 2011

Попробуйте что-то вроде:

$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    foreach ($row as $k=>$v){
       echo $k ." = " . $v;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...