Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于输出数据的PHP表_Php_Mysql - Fatal编程技术网

用于输出数据的PHP表

用于输出数据的PHP表,php,mysql,Php,Mysql,在循环一些数据之后,我想问一下如何在php中输出一个表。以前,我总是水平或垂直地将数据循环到表中。但是现在,我想把这个循环数据水平和垂直地放到一个表中,结果可能是这样的: data1 | data2 | data3 | data4 data5 | data6 | data7 | data8 一直这样,直到循环结束。所以我从我的表中得到1个数据,然后像这样放在上面 我现在的代码是: <?php require ('server.php'); $query = mysql_query("

在循环一些数据之后,我想问一下如何在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;
    }
}
?>
这个怎么样

<?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>';
}
?>

这应该很容易

<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>

您必须每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>";
        }
    }

在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>";
    ?>


mysql_*函数已弃用,。。。表单PHP5.5,所以这将是一个问题。。。而是使用pdo或mysqliyou关闭tr,但不打开另一个trrow@raheelshan看起来像是开幕式<代码>回显“”是,因为您正在吐行而不是列,并且抱怨代码正在生成行。看看我的answer@NullPointer我的php没有问题。。它只是水平显示。它不太好用,它是这样显示的。好的,我已经编辑好了。请重试我的回答代码。谢谢。。。它现在起作用了。。。。。。。。非常感谢你。。。
<?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>";
    ?>