Отображение таблицы с несколькими столбцами из одной таблицы MySQL - PullRequest
0 голосов
/ 22 мая 2011

У меня проблема с отображением нескольких столбцов из таблицы MySQL.
Это довольно просто - у меня 28 записей, и я хочу сделать 7 строк по 4 - каждая запись - это всего два столбца - id # и name(«ручка» в таблице).

Моя проблема в том, что когда я использую

> $i<$cols

, я получаю четыре столбца, но четвертый пустой, и каждая четвертая записьбыть пропущенным (# 4, # 8 и т. д.) Просто я сказал ... просто сделайте это $row && $i<=$cols добавив условное выражение <= к переменной <code>$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.

1 Ответ

0 голосов
/ 22 мая 2011

Просто переместите 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.

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