使用PHP循环数据库并在HTML表格中显示

时间:2014-01-16 19:10:08

标签: php html mysql sql database

我正在尝试遍历我的数据库并显示所有条目。

这是我的代码:

<?php
        // Create connection
        $con=mysqli_connect("host","username","password","database");

        // Check connection
        if (mysqli_connect_errno($con)) {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }

        //Get number of rows
        $sql="SELECT * FROM TBook";
        $result=mysqli_query($con, $sql);
        $rowcount=mysqli_num_rows($result);

        //Start table
        echo "<table>";
        echo "<tr><th>Date</th><th>Period</th><th>Room</th><th>Teacher Initials</th></tr>";

        // Loop through database
        for ($i = 1; $i < $rowcount; $i++) {
            $row = mysql_fetch_array($result);
            $date = $row['date'];
            $period = $row['period'];
            $room = $row['room'];
            $teacherinitials = $row['teacherinitials'];

        // Show entries
            echo    "<tr>
                <td>".$date."</td>
                <td>".$period."</td>
                <td>".$room."</td>
                <td>".$teacherinitials."</td>
                </tr>";

        }

        echo "</table>"
?> 

然而,当我运行它时,列的标题显示但没有别的。

出了什么问题?

1 个答案:

答案 0 :(得分:1)

也许你可以试试这段代码:

     // Check connection
    if (mysqli_connect_errno($con)) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    //Get number of rows
    $sql="SELECT * FROM TBook";
    $result=mysqli_query($con, $sql);
    $i=1;
    while($row=mysqli_fetch_assoc($result))
    {
        $date[$i] = $row['date'];
        $period[$i] = $row['period'];
        $room[$i] = $row['room'];
        $teacherinitials[$i] = $row['teacherinitials'];
        $i++;
    }  
    //Start table
    echo "<table>";
    echo "<tr><th>Date</th><th>Period</th><th>Room</th><th>Teacher Initials</th></tr>";

    // Loop through the results from the database
    for ($i = 1; $i <=count($date); $i++) 
    {
    // Show entries
        echo    
            "<tr>
            <td>$date[$i]</td>
            <td>$period[$i]</td>
            <td>$room[$i]</td>
            <td>$teacherinitials[$i]</td>
            </tr>";

    }

    echo "</table>"
 ?>