Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用foreach从数据库中获取数据-自上而下_Php_Foreach - Fatal编程技术网

Php 使用foreach从数据库中获取数据-自上而下

Php 使用foreach从数据库中获取数据-自上而下,php,foreach,Php,Foreach,数据库: 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>'

数据库:

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>
如何制作表12x12

aaa aaa1 bbb2
bbb aaa2 bbb2
... aaa3 bbb3
... ...  ....
zzz zzz2 zzz4
首先是从上到下(12x),然后是下一列,然后是从上到下(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>
$index=0; foreach($datafromdb作为$value) { 如果($index%12==0)回显“”; 回显“”。$value->name(); 如果($index%12==0)回显“”; }
听着,我不太懂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>

var计数器=0;
foreach($datafromdb作为$value){
如果(i%12==0){echo';}
echo$value->name();
如果(i%12==0){echo';}
计数器++;
}
希望这有帮助


<?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>

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

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

$index=0;
foreach(数据为$value)
{
如果($index='12'),$index=0;
如果($index==0)回显“”;
回声';
回显“.$value.”;
回声';
如果($index==11)回显“”;
$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>";
?>

如果没有,您能否保证数据库中有144条记录?超过12x12条记录的行为是什么?第二个代码段的输出还应显示一行中的值。或者你真的在循环中有
tr
吗?这个从左到右,从左到右,从左到右,从左到右,从左到右,从左到右,从左到右,从左到右等等,但是我想从上到下,从上到下,从上到下等等。
  $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 ++;
    }
<?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>";
?>