【问题标题】:HTML table is adding additional row when calling information from database table从数据库表调用信息时,HTML 表正在添加额外的行
【发布时间】:2018-03-25 16:16:03
【问题描述】:

我的 HTML 格式似乎有问题。我正在调用数据库以在网页上的表格中显示所有信息。我已经把信息放到了桌子上。不幸的是,该表在表的底部添加了一个额外的行,即 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>";

?>

我已将链接添加到下面的页面。

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

【问题讨论】:

  • 你能贴一张你在 DB 中的截图吗?还有&lt;?php var_dump(mysql_num_rows($query)); ?&gt; 的值是多少。请停止使用mysql_* 函数。它已被弃用。

标签: php html database html-table row


【解决方案1】:

使用以下内容更新您的 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.的所有值

【讨论】:

  • 成功了!谢谢您的帮助!非常感谢
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    DELETE FROM table_name WHERE column='';
    

    【讨论】:

      猜你喜欢
      • 2022-11-27
      • 2020-11-02
      • 1970-01-01
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      相关资源
      最近更新 更多