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