Поместить записи рядом друг с другом в столбцах, используя mysql_fetch_array? - PullRequest
0 голосов
/ 17 ноября 2010

Я использую mysql_fetch_array для извлечения данных из набора результатов mysql:

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

Далее я хотел бы поместить данные в столбцы таблицы, но не более двух столбцов в каждой строке.

Итак, используя таблицу:

  <table>
   <tr>
      <td>Record Here</td>
      <td>Record Here</td>
   </tr>
   <tr>
      <td>Record Here</td>
      <td>Record Here</td>
   </tr>
   <tr>
      <td colspan="2">Record Here</td>
   </tr>

Как вы видите выше, я хочу зациклить результаты и создать столбцы таблицы в цикле.

Это так, что записи выстраиваются в дваи два на странице результатов.

Помните, если существует нечетное количество записей, тогда последний столбец таблицы будет нуждаться в colspan 2, или, возможно, просто использовать пустой столбец?

Кто-нибудь знает, как это сделать?

Если бы я использовал цикл for внутри цикла while, я бы просто выстраивал одинаковые записи x раз для каждого цикла while.Смущает ...

Есть идеи?

Спасибо

Ответы [ 3 ]

1 голос
/ 17 ноября 2010

Реализация счетчика (с 1 индексом) в цикле while. Затем добавьте (после цикла):

if ($counter%2)
   echo '<td></td>';

Это оставит дополнительную пустую ячейку в вашей таблице, если последний столбец содержит только одну строку.

0 голосов
/ 17 ноября 2010
<table>
   <tr>
<?
$i=1;
$num = mysql_num_rows($qry_result);
while($row = mysql_fetch_array($qry_result)){
 if($i%2==1)
?>
<tr>
<?
?>
      <td <? if($i==$num && $i%2==1)echo 'colspan="2"';?>><?=$row['keyName']?></td>
<?
 if($i%2==0)
{
<?
</tr>
?>
}

$i++;
}
?>

0 голосов
/ 17 ноября 2010

Как-то так должно работать ...

<table>
<?php
while(true) {
    $row1 = mysql_fetch_array($qry_result);
    if($row1 === false) break;
    $row2 = mysql_fetch_array($qry_result);

    if($row2 !== false) {
        echo "<tr><td>$row1</td><td>$row2</td></tr>";
    } else {
        echo "<tr><td coslspan=\"2\">$row1</td></tr>";
        break; // output the final row and then stop looping
    }
}
?>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...