Чередуйте несколько столбцов в HTML-таблице с помощью PHP - PullRequest
0 голосов
/ 13 декабря 2011

Как я могу вывести несколько альтернативных столбцов, как это

<table border="1">
    <tr> 
        <td> userid 1 </td>
    </tr>

    <tr> 
        <td> userid 2</td> <td>userid 3 </td>
    </tr>   
    <tr> 
        <td> userid 4 </td>
    </tr>
    <tr> 
        <td> userid5 </td> <td>userid6 </td>
    </tr>
    <tr> 
        <td> userid7 </td> 
        <td>userid8 </td>
        <td> userid9 </td> 
        <td>userid10</td>
    </tr>

</table>
<br>
<table border=1> 

Мой запрос к таблице выглядит так:

$result = mysql_query("SELECT id,name FROM  `tbl-record`") or die(mysql_error());

Классический пример в действии выглядит так:

http://www.cashcashpinoy.com

Таблица с пятью строками и альтернативными столбцами 1x2x1x2x4 (TD) в каждой строке (TR)

1 Ответ

1 голос
/ 13 декабря 2011

Поскольку это в таблице, вы можете использовать атрибут colspan для элементов td, например:

<table>
  <tr>
    <td colspan="4">Full width data.</td>
  </tr>

  <tr>
    <td colspan="2">Half width data.</td>
    <td colspan="2">Half width data.</td>
  </tr>

  <tr>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
  </tr>
</table>

Это можно сделать с любым количеством столбцов.

Если вы хотите динамически назначать количество столбцов, вам нужно иметь заданное количество результатов для обеспечения некоторой согласованности, что вы можете сделать, используя LIMIT вместе с вашим запросом.

$results; // This is all of the results of your query
$colOps = array(1,2,4); // Different colspan values
$numCols = 4; // Maximum columns to allow per line

echo '<table border="1">';
while(count($results) > 0) {
  $ind = mt_rand(0, 2); // Generate a random index number
  if(count($results) >= $colOps[$ind]) {
    echo '<tr>';
    for($i = 0; $i < $cols; $i++)
      echo '<td colspan="'.$colOps[$ind].'">'.array_shift($results).'</td>';
    echo '</tr>';
  }
}
echo '</table>';

Обратите внимание, что это не проверено и, возможно, потребуется некоторая модификация для правильной работы.

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