HTML table 正在从数据库 table 调用信息时添加额外的行

HTML table is adding additional row when calling information from database table

我的 HTML 格式似乎有问题。我正在调用数据库以在网页上显示 table 内的所有信息。我已经得到了 table 中的信息。不幸的是,table 在 table 的底部添加了一个额外的行,形成 4 行,而实际上数据库中只显示 3 行。

知道为什么吗?

<?php
//connect to the server
$link = mysql_connect('*****', '*****', '****'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
}

mysql_select_db('******'); 

$query = mysql_query("SELECT * FROM tablename");

        echo "<table border='1'>
            <tr>
            <td>Date</td>
            <td>Region</td>
            <td>Cameraman</td>
            <td>Livestream?</td>
            <td>Event Title</td>
            <td>Lecturer</td>
            <td>Time</td>
            <td>Speaker</td>
            <td>ICE Contact</td>
            <td>Venue Address</td>
            <td>Venue Contact</td>
            <td>Additional Comments</td>
            <td>On App?</td>
            </tr>";

        WHILE($rows = mysql_fetch_array($query)):

            echo "<tr>";
            echo "<td>" . $rows['date'] . "</td>";
            echo "<td>" . $rows['region'] . "</td>"; 
            echo "<td>" . $rows['cameraman'] . "</td>";
            echo "<td>" . $rows['livestream'] . "</td>"; 
            echo "<td>" . $rows['eventitle'] . "</td>";
            echo "<td>" . $rows['lecturer'] . "</td>"; 
            echo "<td>" . $rows['time'] . "</td>";
            echo "<td>" . $rows['speaker'] . "</td>";
            echo "<td>" . $rows['icecontact'] . "</td>";
            echo "<td>" . $rows['venueaddress'] . "</td>"; 
            echo "<td>" . $rows['venuecontact'] . "</td>";
            echo "<td>" . $rows['additioncomments'] . "</td>";  
            echo "<td>" . $rows['onapp'] . "</td>";     
            echo "</tr>";


        endwhile;
            echo "</table>";

?>

我已将 link 添加到下面的页面。

http://cpdonline.tv/spreadsheet/spreadsheet.php

您的数据库中似乎有空数据,因为很多行都是空的

检查您的数据库是否有空记录或运行查询

DELETE FROM table_name WHERE column='';

使用以下内容更新您的 while 循环:

WHILE($rows = mysql_fetch_array($query)):
            $rows = array_filter($rows);
            if (!empty($rows)) {
                echo "<tr>";
                echo "<td>" . $rows['date'] . "</td>";
                echo "<td>" . $rows['region'] . "</td>"; 
                echo "<td>" . $rows['cameraman'] . "</td>";
                echo "<td>" . $rows['livestream'] . "</td>"; 
                echo "<td>" . $rows['eventitle'] . "</td>";
                echo "<td>" . $rows['lecturer'] . "</td>"; 
                echo "<td>" . $rows['time'] . "</td>";
                echo "<td>" . $rows['speaker'] . "</td>";
                echo "<td>" . $rows['icecontact'] . "</td>";
                echo "<td>" . $rows['venueaddress'] . "</td>"; 
                echo "<td>" . $rows['venuecontact'] . "</td>";
                echo "<td>" . $rows['additioncomments'] . "</td>";  
                echo "<td>" . $rows['onapp'] . "</td>";     
                echo "</tr>";
            }
            endwhile;
            echo "</table>";

array_filter() 函数的默认行为将从数组中删除等于 null, 0, '' or false.

的所有值