-1

次のコードを使用します。

<table border="1" >
<?
    $item_count=0;  
    $select_SQL="select * from iplay_test";
    $result=mysql_query($select_SQL,$con);
    while($eachRow= mysql_fetch_array($result))
    {   
        if($item_count%3==0)
        {
            echo "<tr><td> 0 </td></tr>";           
        }
        else
        {
            echo "<td> 1</td>";
        }

    $item_count++;
    }

    ?>      
</table>

私は出力を取得しています、

0
1    1
0
1    1
0
1    1
0
1    1
0
1    1

しかし、私は次のようなものを取得する必要があります

0 1 1 
0 1 1
0 1 1

ここで何が欠けていますか?

私は基本的にこれを行って、1行に3つのアイテムを表示します。表示されるデータはデータベースからのものになります。この問題に対するより良い解決策はありますか?

4

4 に答える 4

3

3つおきのセルで行を開いたり閉じたりしています。開始trタグは最初のセルの前にあり、終了タグは3番目のセルの後にある必要があります。

于 2012-09-04T18:24:53.070 に答える
1

すべてのレコードに対して新しい行を開始しています。

        echo "<tr><td> 0 </td></tr>";
              ^^^^--- starts a new row

<tr>このエコーからとを移動し、</tr>3番目のレコードごとにのみ発行するので、次のようなものが得られます。

<tr>
   <td>1</td><td>2</td><td>3</td>
</tr>
etc...
于 2012-09-04T18:24:46.163 に答える
1

私は移動しました<tr>

while($eachRow= mysql_fetch_array($result))
{   
    echo '<tr>';
    if($item_count%3==0)
    {
        echo "<td>0</td>";           
    }
    else
    {
        echo "<td>1</td>";
    }
    echo '</tr>';

    $item_count++;
}
于 2012-09-04T18:29:45.813 に答える
0

以下のようにコードを変更して、私の問題を解決しました。Jashaに感謝します

<table border="1" >

    <tr>
    <?
    $item_count=0;

    $select_SQL="select * from iplay_test";
    $result=mysql_query($select_SQL,$con);
    while($eachRow= mysql_fetch_array($result))
    {


    if($item_count%3==0)
    {
        if($item_count==0)
        {
        echo "<td> 0</td>";
        }
        else
        {
        echo "</tr><tr><td> 0 </td>";
        }   
    }
    else
    {
        echo "<td> 1</td>";

    }

        $item_count++;
    }

?>  

</tr>   
    </table>
于 2012-09-04T18:42:10.020 に答える