2011-08-04 5 views
1

データベース:データ - 上からのダウン

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)下の上から1番目は、その後上から再び次の列とダウンiは左から右に、この値を示している(12X)など12X

は、右に左に、左右など、しかし、私はダウン、トップがダウンして、トップなどの下に

+1

あなたがあります保証することができ144データベースに12x12レコード以上の振る舞いがない場合は記録してください –

+0

2番目のスニペットの出力には、行の値も表示する必要があります。あるいは、実際にループ内に 'tr'を持っていますか? –

答えて

0

ダニエル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>"; 
?> 
1
<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> 
+0

これは左から右、左から右、左から右などの値を示していますが、上から下、上から下、上から下などが好きです。 –

+0

Daniel Cherringtonのコードを使用してください。それはあなたの解決策です.... –

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> 

希望すると便利です!

+0

これは左から右へ、左から右へ、左から右へなどの値を示していますが、上から下へ、上から下へ、上から下へなどのようになります。 –

+0

@Remind Login:You右 - 私はそれを固定した。 – Naor

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

あなたはデータが実際にそれをエコーする前に存在しているかどうかを確認することをお勧めします。

1

あなたは(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 ++; 
    } 
関連する問題