2009-07-29 18 views
0

データベースを照会するときにHTMLテーブルの列数を制限する方法を教えてください。TDのPHP/MySQL出力データ

例えば、私は次の値をMySQLのテーブルを持っている:例えば、

myTable: 
    id  color 
    1  red 
    2  blue 
    3  green 
    4  pink 
    5  purple 

そして、私は私のクエリを実行すると、代わりに伝統的なテーブルの行のすべての行を表示します

<table> 
<?php 
    while { 
    echo "<tr><td>$row['color']</td></tr>; 
     } 
?> 
</table> 

代わりに、私はすべての3つのTDの、新しいTRが作成され、何かを課すしたいと思います。

<table> 
    <tr> 
    <td>red</td> 
    <td>blue</td> 
    <td>green</td> 
    </tr> <-- Notice how after 3 columns, a new table row is created. 
    <tr> 
    <td>pink</td> 
    <td>purple</td> 
    </tr> 
    </table> 

これを達成するための任意の方法:たとえば

、それはこのような何かを出力しませんか?

<table> 
<?php 
    $count = 0; 
    while($row = mysql_fetch_array($results)) { 
    $outputTr = ($count % 3) == 0; 

    if($outputTr) echo '<tr>'; 

    echo '<td>' . $row['color'] . '</td>'; 

    if($outputTr) echo '</tr>'; 

    $count++; 
    } 
?> 
</table> 

答えて

2

は、これを達成するためには、カウンタの組み合わせとmodulus (%)演算子を使用することができます。

<?php 
echo "<table><tr>"; 
$count = 0; 
foreach($data as $key => $color) 
{ 
    if($count == 3) 
    { 
     $count = 0; 
     echo "</tr><tr>"; 
    } 
    $count++; 
    echo "<td>".$color."</td>"; 
} 
echo "</tr></table>"; 
?> 
+0

もう一度質問します。 –

+0

私の200を得る前に眠れない! –

+0

私は昨日のために私のものを得て、それから6つのアップフォートを得ました。 –

1

これをachiveするには、すべての3テーブル件のデータをリセットし、単純なカウンターに置く:

+0

+1:コードは有効です! –