用于输出数据的PHP表

时间:2012-12-18 06:40:47

标签: php mysql

我想问一下在循环一些数据之后在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 个答案:

答案 0 :(得分: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>";
    ?>

答案 1 :(得分: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>';
}
?>

答案 2 :(得分: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>

答案 3 :(得分: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>";
        }
    }