Несколько столбцов вместо строк - оператор PDO - PullRequest
1 голос
/ 08 февраля 2012

Я пытаюсь отобразить данные определенной таблицы в 3 столбцах и хочу, чтобы она перешла к следующей строке после 3 результатов, поэтому, если есть 30 результатов, должно быть 10 строк из 3 столбцов, если есть 15 результатов, то следует быть 5 строк из 3 столбцов и т. д.

Однако я могу только найти примеры того, как это сделать с помощью «обычных операторов SQL», и не смог найти в PDO ничего такого, что могло бы сделать то же самое, и, к сожалению, смешивание обычного SQL и PDO не работает хорошо.

Ну вот мой код:

$result = getdatanames($db, $_GET['id']);
foreach ($result as $row) {
  echo '<tr>';
  echo '<td style="width: 20%; text-align:right;"><a href="/?p=USERS.profile&amp;id='.$row->idd.'">'.$row->name.'</a></td>';
  echo '<td style="width: 13%;"><span style="font-variant:small-caps;font-size:10px;position:relative;top:-5px;color:#C11B17;">'.$row->last_name.'</span></td>';
  echo '</tr>';
}

Однако я знаю, что это будет отображаться в каждой строке (как имя, так и фамилия), но как я могу заставить его работать так, чтобы в каждой строке отображалось 3 записи (как имя, так и фамилия)?

Ака:

  Name Last name - Name Last name - Name Last name
  Name Last name - Name Last name - Name Last name
  Name Last name - Name Last name - (Empty auto fill)

1 Ответ

2 голосов
/ 08 февраля 2012

Это не имеет ничего общего с PDO или mysql, вам просто нужно добавить счетчик и добавлять блок </tr><tr> только тогда, когда вы можете разделить свой счетчик на 3. Или добавить переменную столбца и установить егок 1 после того, как оно достигло 3.

И, возможно, добавьте несколько столбцов после цикла, чтобы завершить последнюю строку.

Со счетчиком столбцов:

$column = 0;
echo '<tr>';
foreach ($result as $row)
{
  $column++;
  echo '<td style="width: 20%; text-align:right;"><a href="/?p=USERS.profile&amp;id='.$row->idd.'">'.$row->name.'</a></td>';
  echo '<td style="width: 13%;"><span style="font-variant:small-caps;font-size:10px;position:relative;top:-5px;color:#C11B17;">'.$row->last_name.'</span></td>';
  if ($column == 3)
  {
    $column = 0;
    echo '</tr><tr>';
  }
}
echo '</tr>';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...