2009-07-29 6 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 개마다, 새로운 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 개의 upvotes가있다. ... 나를 속였다. –

1

이를 실현하려, 매 3 테이블 datas를 재설정하는 간단한 카운터에 넣어 :

+0

+1 : 코드가 유효합니다! –

관련 문제