gpt4 book ai didi

php - SQL 查询在表中显示时丢失数据

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:19 28 4
gpt4 key购买 nike

<分区>

我有多个查询在 PHPmyAdmin 中产生了正确的结果,但是当我将结果放入表中时,数据丢失了。我的代码如下:

//set up the database 
$servername = "localhost";
$usernameDB = "root";
$passwordDB = "";
$nameDB = "teacheasy";
//connect to the database
$connection = new mysqli($servername, $usernameDB, $passwordDB, $nameDB);

$sql = "SELECT CONCAT(s.last_name,', ',s.first_name) AS 'StudentName', group_concat(a.date_absence) AS 'DatesAbsent', COUNT(a.student_id) AS 'TotalAbsent' \n"
. "FROM `students` s JOIN `absences` a ON s.student_id = a.student_id \n"
. "WHERE s.teacher_id='" . $_SESSION['userId'] . "'GROUP BY s.student_id \n"
. "ORDER BY s.last_name ASC;";

$result = mysqli_query($connection, $sql) or die("Bad Query: $sql");

echo"<table>";
echo"<tr>
<td><b>Student Name</b></td>
<td><b>Total Absent</b></td>
<td><b>Dates Absent</b></td>
</tr>";
$result = mysqli_query($connection, $sql);
$row = mysqli_fetch_assoc($result);
while($row = mysqli_fetch_assoc($result)){
echo"<tr><td>{$row['StudentName']}</td><td>{$row['TotalAbsent']}</td><td>{$row['DatesAbsent']}</td></tr>";
}

我不知道数据在哪里丢失了。数据会去哪里?有没有办法检查它是否来自查询或表是否有问题?

在我的第二个表中,我有以下代码也会产生缺失的结果。

<?php include 'includes/header.php';?>
<html>
<body>
<?php
//SELECT s.first_name,s.last_name,g.grade, a.assignment_name FROM `grades` g JOIN `students` s ON s.student_id = g.student_id JOIN `assignments` a ON a.assignment_id=g.assignment_id

$servername = "localhost";
$usernameDB = "root";
$passwordDB = "";
$nameDB = "teacheasy";
//connect to the database
$connection = new mysqli($servername, $usernameDB, $passwordDB, $nameDB);


//this section creates the column headers
$sqlAssignment = "SELECT DISTINCT assignment_name FROM assignments WHERE teacher_id='" . $_SESSION['userId'] . "' AND subject_id = '2';";
$resultAssignment = mysqli_query($connection, $sqlAssignment) or die("Bad Query: $sqlAssignment");
echo"<table>";
$resultAssignemnt = mysqli_query($connection, $sqlAssignment);

echo "<tr>";
echo "<td><b>Students</b></td>";
while($row = mysqli_fetch_assoc($resultAssignment)){
echo"<td><b>{$row['assignment_name']}</b></td>";
}
echo "</tr>";

$sql = "SELECT CONCAT(s.last_name, ', ',s.first_name) AS 'Student Name',g.grade FROM `grades` g JOIN assignments a ON a.assignment_id=g.assignment_id JOIN teacher t ON t.teacher_id=a.teacher_id JOIN students s ON s.student_id=g.student_id WHERE a.teacher_id='" . $_SESSION['userId'] . "' AND a.subject_id='2' ORDER BY s.last_name ASC";
$sqlCount = "SELECT DISTINCT COUNT(assignment_name) FROM `assignments` WHERE subject_id = '2' AND teacher_id= '" . $_SESSION['userId'] . "';";

$result = mysqli_query($connection, $sql) or die("Bad Query: $sql");

//gets the number of assignments so it can display the table
$resultCount = mysqli_query($connection, $sqlCount);
$countNum = $resultCount->fetch_assoc();
$counter = 0;

//this loops through the data and outputs it to the table
echo "<tr>";
while($row2 = mysqli_fetch_assoc($result)){
if($counter == 0){
echo"<td>{$row2['Student Name']}</td>";
$counter++;
} else if($counter <= $countNum['COUNT(assignment_name)']){
echo"<td>{$row2['grade']}</td>";
$counter++;
} else{
$counter = 0;
echo"</tr>";
}
}
echo "</table>";
?>

</body>

表中结果为: enter image description here

phpmyadmin 结果在这里: enter image description here

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com