0

一部のデータをループした後、PHPでテーブルを出力することについてお尋ねします。以前は、常に水平方向または垂直方向にデータをテーブルにループさせていました。しかし今、このループ データをテーブルに水平方向と垂直方向に配置したいので、結果は次のようになります。

data1 | data2 | data3 | data4

data5 | data6 | data7 | data8

ループするまでそのままです。だから私は自分のテーブルから1つのデータを取得し、そのように配置します。

現在の私のコードは次のとおりです。

<?php 
require ('server.php');
$query = mysql_query("SELECT * FROM ekskul");
if (mysql_num_rows($query) < 1) {
    echo "No data.";
} else {
    $i = 0;
    while ($roweks = mysql_fetch_array($query)) {
        echo '<tr class="dark">';
        echo "<td>$roweks[nama]</td>";
        if ($i % 4 == 0) {
            echo "</tr>";
        }
        $i += 1;
    }
}
?>

私が得るものは常に垂直であるため、結果を水平にスローすることについてのロジックは得られません。

data1

data2

data3

...

datan
4

4 に答える 4

2

条件が発生した場合は while ループの前に tr の開始を使用してから、tr を閉じて新しい tr を開きます ..

<?php
    require ('server.php');
    $query = mysql_query("SELECT * FROM ekskul");
    if (mysql_num_rows($query) < 1) {
        echo "No data.";
    } else {
        $i = 1;
        echo "<table>";
        echo '<tr class="dark">';
        while ($roweks = mysql_fetch_array($query)) {

            echo "<td>".$roweks['nama']."</td>";
            if ($i % 4 == 0) {

                echo "</tr>";
                echo '<tr class="dark">';
            }
            $i += 1;
        }
    }
    echo "</table>";
    ?>
于 2012-12-18T07:25:46.063 に答える
0

これはどうですか

<?php 
require ('server.php');
$query = mysql_query("SELECT * FROM ekskul");
if (mysql_num_rows($query) < 1) {
    echo "No data.";
} else {
    $i = 0;
    echo '<table>';
    while ($roweks = mysql_fetch_array($query)) {
        echo '<tr class="dark">';
                echo "<td>$roweks[nama]</td>";
            if ($i % 4 == 0) {
            echo "</tr>";
        }
        $i += 1;
    }
echo '</table>';
}
?>
于 2012-12-18T06:49:49.607 に答える
0

それはとても簡単だったはずです。

<table>
    <tr>
    <?
    $i = 1;
    while ($roweks = mysql_fetch_array($query)) {
        echo "<td>$roweks[nama]</td>";
        if ($i == 4 ) {
            echo "</tr><tr>";
            $i = 1;
        }else{
            $i += 1;
        }

    }
    ?>
    </tr>
</table>
于 2012-12-18T06:50:16.563 に答える
0

4 アイテムごとに新しい行を作成し、最後の行をスキップする必要があります。アイテムの数は 4 の倍数です。

<?php 
    require ('server.php');
    $query = mysql_query("SELECT * FROM ekskul");
    $num_row = mysql_num_rows($query);

    if ($num_row < 1) {
        echo "No data.";
    } else {
        $i = 0;
        echo '<tr class="dark">';
        while($roweks = mysql_fetch_array($query))
        {
            $i++;
            echo "<td>$roweks[nama]</td>";
            if($i % 4 == 0 && $i != $num_row)
            {
                echo "</tr>";
                echo '<tr class="dark">';
            }                   
            $i++;
        }
        if ($i % 4 != 1) {
            echo "</tr>";
        }
    }
于 2012-12-18T06:52:34.690 に答える