我试图将多个表格中的数据打印到一个html表格中,但我似乎无法弄清楚除了表格标题之外什么都没有出现。
<?php
include('includes/db_connect.php');
$query_student="SELECT student.firstName, student.lastName, major.major, major.gradDate,
FROM student
JOIN major
ON student.studentID=major.studentID";
$result_student=mysqli_query($conn, $query_student);
echo '<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Graduate Year</th>
<th>Major</th>
<th>Activity After Graduation</th>
</tr>';
while($row = mysqli_fetch_array($result_student))
{
echo'<tr>'; // printing table row
echo '<td>' . $row['firstName'] . '</td>';
echo '<td>' . $row['lastName'] . '</td>';
echo '<td>' . $row['gradDate'] . '</td>';
echo '<td>' . $row['major'] . '</td>';
echo'</tr>'; // closing table row
}
echo '</table>';
$conn->close();
?>
答案 0 :(得分:0)
首先在,
后删除查询中的major.gradDate,
,因为您没有其他字段可供使用。
您应该检查查询中的错误,以了解发生了什么......
更改:$result_student=mysqli_query($conn, $query_student);
要:
$result_student=mysqli_query($conn, $query_student) or die( mysqli_error($conn) );
答案 1 :(得分:0)
您可以使用foreach语句和mysqli
对象的query
方法来实现此目的。
我还修复了SQL,在将两个表一起添加时需要LEFT JOIN
。请首先检查此SQL语句是否在环境中工作,因为它尚未经过测试。
$query_student="SELECT t1.firstName, t1.lastName, t2.major, t2.gradDate
FROM student t1
LEFT JOIN SECOND_TABLE t2
ON t1.studentID = t2.studentID";
// Replace SECOND_TABLE with your table name you're joining on
?> <tr>
<?php
if($conn):
foreach ($conn->query($query_student) as $row): ?>
<!-- conditional statements allow HTML inside PHP loops -->
<td> <?php echo $row['firstName']; ?> </td>
// [...]
<?php endforeach;
else:
die('Connection Error: ' . $conn->error);
endif; ?>
</tr>
希望这会有所帮助。