带有嵌入式HTML的PHP​​页面,显示额外的列

时间:2014-04-04 08:53:29

标签: php

我有一个带有嵌入式HTML的php页面,我正在显示来自MySQL数据库的数据。 PHP正在回应php页面中的html。所有数据都被退回;但是,数据表显示时带有一个额外的列,应该在最后一列中的数据显示在额外的列中(例如,我的姓氏是'姓氏,'但还有一个额外的列'姓氏'后面的列'姓氏'数据)。

我在这里做错了什么?

感谢。

get_records.php

            //make connection
            $conn = mysql_connect('localhost', 'root', '');
            //select db
            mysql_select_db('kis');

            if (!$conn) {
                die("Can not connect: " . mysql_error());

            }
            //select db and run query
            mysql_select_db('kis');
            $sql = "SELECT * FROM users";
            $records = mysql_query($sql);



            ?>
            <!DOCTYPE html>
            <html lang="en">
            <head>
                <link rel="stylesheet" type="text/css" href="css/TableCSSCode.css" media="all"/>
                <title>Volunteer Data</title>

            </head>

            <body>


            <div class="CSSTableGenerator">
                <h1>Volunteer Records</h1>

                <table>
                    <tr>
                        <th>First Name</th>
                        <th>Middle Name</th>
                        <th>Last Name</th>
                    </tr>
                    <tr>
                        <?php
                        //loop through the records and display in page
                        while ($users = mysql_fetch_assoc($records)) {
                            echo "<tr>";
                            echo "<td>" . $users['firstname'] . "</td>";
                            echo "<td>" . $users['middlename'] . "<td>";
                            echo "<td>" . $users['lastname'] . "<td>";
                            echo "</tr>";
                        }//end while


                        ?>
                    </tr>
                </table>

            </div>
            <!--end #dr_container-->

            </body>
            </html>

3 个答案:

答案 0 :(得分:2)

你需要关闭td的

echo "<td>" . $users['middlename'] . "</td>";
echo "<td>" . $users['lastname'] . "</td>";

答案 1 :(得分:0)

  1. 您尚未正确关闭td代码:

    echo "<td>" . $users['middlename'] . "<td>";
    echo "<td>" . $users['lastname'] . "<td>";
    

    最后应为</td>

  2. 您正在回显行标记(<tr>)。因此,不要在普通的html中添加额外的(仅在PHP代码周围)。

答案 2 :(得分:0)

  1. 关闭&#34; td&#34;标签
  2. 删除&#34; tr&#34; php代码启动之前和之后的标签,因为php代码中已有tr标签。 以下是表格的更新HTML:

    <table>
        <tr>
            <th>First Name</th>
            <th>Middle Name</th>
            <th>Last Name</th>
        </tr>
        <?php
            //loop through the records and display in page
            while ($users = mysql_fetch_assoc($records)) {
                echo "<tr>";
                echo "<td>" . $users['firstname'] . "</td>";
                echo "<td>" . $users['middlename'] . "</td>";
                echo "<td>" . $users['lastname'] . "</td>";
                echo "</tr>";
            }//end while
        ?>