簡體   English   中英

來自一個MySQL表的多列表顯示

[英]Multi-Column Table Display from one MySQL table

我在顯示MySQL表中的多個列時遇到問題。
這很簡單-我有28條記錄,並且我想做7行,每行4條-每條記錄只有兩列-id#和name(表中的“ handle”)。

我的問題是,當我使用

> $i<$cols

我得到了四列,但第四列為空白,並且跳過了每四個記錄(#4,#8等)。簡單地說,我只是...使其$row && $i<=$cols <=以$i變量為條件...但是然后它只是忽略if語句並在頁面上顯示所有記錄。 我究竟做錯了什么? 我是否需要另一個if語句圍繞該語句? 不知道我要去哪里錯...

到目前為止,這是我到達的地方:

// Table header.
echo '<center><table align="center" BLAH BLAH BLAH</b></td></tr><tr>';
do {
  // Fetch and print all the records:
  $cols = 4;
  for($i=1;$i<=$cols;$i++){ 
    $row = mysqli_fetch_array($r, MYSQLI_ASSOC);
    if($row && $i<$cols){
      echo '<td  align="center" bgcolor="' . '#' . $row['color'] . '"><b>' .
           $row['player_id'] . '</td></b><td  align="left" bgcolor="' . '#' .
           $row['color'] . '"><b>' . strtoupper($row['handle']) . '</td></b>';
    }
    else {
      echo '</tr>';
    }
  }
}              
while ($row);
  echo '</table></center>'; // Close the table.

只需將echo '</tr>'移動到for循環之外即可。 讓do ... while循環打開並關閉<tr>標記:

// Table header.
echo '<center><table align="center" BLAH BLAH BLAH</b></td></tr>';
do {
  echo '<tr>';
  // Fetch and print all the records:
  $row = mysqli_fetch_array($r, MYSQLI_ASSOC);
  if($row){
    echo '<td  align="center" bgcolor="' . '#' . $row['color'] . '"><b>' .
         $row['player_id'] . '</b></td><td  align="left" bgcolor="' . '#' .
         $row['color'] . '"><b>' . strtoupper($row['handle']) . '</b></td>';
  }
  echo '</tr>';
} while ($row); echo '</table></center>'; // Close the table.

編輯:剛剛意識到你不需要for循環。

暫無
暫無

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

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