我有一个带有嵌入式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>
答案 0 :(得分:2)
你需要关闭td的
echo "<td>" . $users['middlename'] . "</td>";
echo "<td>" . $users['lastname'] . "</td>";
答案 1 :(得分:0)
您尚未正确关闭td
代码:
echo "<td>" . $users['middlename'] . "<td>";
echo "<td>" . $users['lastname'] . "<td>";
最后应为</td>
。
您正在回显行标记(<tr>
)。因此,不要在普通的html中添加额外的(仅在PHP代码周围)。
答案 2 :(得分:0)
删除&#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
?>