从上到下的数据库中的数据


data from database with from top to down

数据库:

id | name
1  | aaa
2  | bbb
3  | ccc
.. | ...
250| zz3
foreach ($datafromdb as $value){
  echo $value->name();
}

这给我看:

aaa bbb  ccc  ... zz3

从左到右

if 
<table>
 <tr>
    foreach ($datafromdb as $value){
      echo '<td>' . $value->name() . '</td>';
    }
  </tr>
</table>

显示:

aaa
bbb
ccc
...
zzz3

我如何制作12x12的桌子?

aaa aaa1 bbb2
bbb aaa2 bbb2
... aaa3 bbb3
... ...  ....
zzz zzz2 zzz4

首先从上到下(12x(,然后是下一列,再从上到上(12x

我已经从左到右、从左到左、从左向右等显示了这个值,但我希望从上到下、从上到上、从上往下等

<table>
        $index=0;
        foreach ($datafromdb as $value)
        {
          if($index%12==0) echo '<tr>' ;
          echo '<td>' . $value->name() . '</td>';
          if($index%12==0) echo '</tr>' ;
        }
</table>

您可以尝试并排创建表(使用css浮动它们(

  $index=0;
    foreach ($data as $value)
    {
      if($index == '12') $index = 0;
      if($index == 0) echo '<table style="float:left;">';
      echo '<tr>' ;
      echo '<td>' . $value . '</td>';
      echo '</tr>' ;
      if($index==11) echo '</table>' ;
      $index ++;
    }

Daniel Cherrington的代码很好,但只有PHP才能做到:

<?php
$data = range(1,240);
$tab = array();
$max = 12;
for($i=0;$i<sizeof($data);$i++){
    $tab[($i % $max)][] = $data[$i];
}
echo "<table border='1'>";
foreach($tab as $line){
    echo "<tr>";
    foreach($line as $row){
        echo "<td>".$row."</td>";
    }
    echo "</tr>";
}
echo "</table>";
?>
<?php
$data = range(1,16);
$maxColumns = 4;
$maxRows = 4;
?>
<table>
    <? for($r = 0; $r < $maxRows; $r++) { ?>
        <tr>
            <? for($c = 0; $c < $maxColumns; $c++) { ?>
                <td><? echo $data[($c*$maxColumns)+$r]?></td>
            <? }?>
        </tr>
    <? } ?>
</table>

在回显数据之前,您可能需要检查数据是否真的存在。

听着,我不太了解php,但我能想到的是:

<table>
    <tr>
    var counter=0;
    foreach ($datafromdb as $value){
        if (i%12==0) { echo '<td>'; }
        echo $value->name()+'<br/>';
        if (i%12==0) { echo '</td>'; }
        counter++;
    }
    </tr>
</table>

希望这能有所帮助!