Поскольку это в таблице, вы можете использовать атрибут 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>';
Обратите внимание, что это не проверено и, возможно, потребуется некоторая модификация для правильной работы.