1

phpとhtmlは非常に新しく、データベーステーブルのレコードセットからこのような出力を作成しようとしています。ここで、「tablerecordn」はdbテーブルレコードセットの列です。

基本的に、テーブルは5行の1x2x1x2x4列になります

<table border=1>
    <tr> 
        <td>table record 1 </td>
    </tr>

    <tr> 
        <td> table record 2 </td> <td>table record 3 </td>
    </tr>   
    <tr> 
        <td> table record 4 </td>
    </tr>
    <tr> 
        <td> table record 5 </td> <td>table record 6 </td>
    </tr>
    <tr> 
        <td> table record 7 </td> 
        <td>table record 8 </td>
        <td> table record 9 </td> 
        <td>table record 10</td>
    </tr>

</table>

私はこれまでしか得られませんでした

          $next_Column = 1;


          echo "<tr>";

           while ( $row = mysql_fetch_array( $result ) ) 
           { 
    echo "<td>". $row['name']. "</td>"; 
    $next_Column ++;

    if( $next_Column > 1 )
    {
        echo "<tr>";
        $next_Column = 1;
    }
       } 
          ?> 
4

1 に答える 1

0

上記のループは常に、をエコーし<tr>​​ます。これは、に到達すると常に> 1if$next_columnなるためです。列をループするには、ネストされたループを使用する必要があります。このページのコードのようなものが役立つはずです。ただし、正確な形式で必要なことがわかっている場合は、phpをこのように作成してみませんか?

<table border=1>
<?php
    while ( $row = mysql_fetch_array( $result ) )
    {
        echo '<tr><td>' . $row[0] . '</td></tr>';
        echo '<tr><td>' . $row[1] . '</td><td>' . $row[2] . '</td></tr>';
        echo '<tr><td>' . $row[3] . '</td></tr>';
        echo '<tr><td>' . $row[4] . '</td><td>' . $row[5] . '</td></tr>';
        echo '<tr><td>' . $row[6] . '</td><td>' . $row[7] . '</td>';
        echo '<td>' . $row[8] . '</td><td>' . $row[9] . '</td></tr>';
    }
?>
</table>

これらの数値はすべて、引用符で囲まれた列名に置き換えることができることに注意してください(のように'name')。また、上記のコードは、データベース内のすべての行に対して5つのテーブル行を出力します。それはあなたがやろうとしていることですか?

編集:各行をループして、その行の列数に基づいてテーブルに追加しようとしている場合は、次のようなものを提案します:

<table border=1>
<?php
    while ( $row = mysql_fetch_array( $result ) )
    {
        echo '<tr>';

        //Loop through cols
        foreach($row as $value)
        {
            if($value)
            {
                echo '<td>' . $value . '</td>';
            }
        }

        echo '</tr>'
    }
?>
</table>

これにより、値はデータベースにある場合にのみテーブル行に配置されます。したがって、1列が入力された行がある場合、1つのテーブル列が取得されますが、4列が入力された行には4つのテーブル列があります。

于 2011-12-12T16:41:53.530 に答える