为什么我的mySQL表数据不会响应?

时间:2016-04-14 15:39:28

标签: php jquery mysql

我试图将多个表格中的数据打印到一个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();
?>

2 个答案:

答案 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>

希望这会有所帮助。