簡體   English   中英

在php中打印多行數組

[英]Print multiple rows array in php

我有一個可以返回多行的查詢。

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

問題是它只打印一行,而我應該打印兩行。

有人可以幫幫我嗎?

問題可能是您正在重新使用$row變量。 此外,邏輯有點奇怪:為什么每次獲取新行時循環遍歷$data 你的意思是這樣做:

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

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

嘗試類似的東西:

$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    foreach ($row as $k=>$v){
       echo $k ." = " . $v;
    }
}
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)){
    $data[] = $row;
    foreach ($data as $col){
       echo $col['...'];
    }
    echo '<br>';
}

要么

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'>;

也許問題是你在while循環中迭代$ data數組,我想你想要收集$ data中的所有行,並且只有在while中斷迭代它以顯示結果時。

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

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

還是我誤解了?

    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;
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM