我想使用此学生ID号检索学生参加的所有活动。所以这是我的PHP代码,这段代码正在运行,但它只能检索1个事件,而这个学生已经参加了几个活动。
<?php
$host='localhost';
$username='tan';
$password='1234567';
$db='feedback01';
$conn=mysqli_connect($host,$username,$password,$db);
if (!$conn)
{
die('Could not connect: ' . mysqli_connect_error());
}
$studentID=$_POST['StudentID'];
$studentID=mysqli_real_escape_string($conn,$studentID);
$query="SELECT * From PassportData WHERE StudentID='$studentID'";
$result=mysqli_query($conn,$query);
$response = array();
if(mysqli_num_rows($result)>0)
{
$row = mysqli_fetch_assoc($result);
$event = $row["Events"];
$date = $row["Date"];
$code = "login_success";
array_push($response, array("code"=>$code, "Events"=>$event, "Date"=>$date));
echo json_encode($response);
}
else{
$code = "login_failed";
$message = "not found!";
array_push($response, array("code"=>$code, "messsage"=>$message));
echo json_encode($response);
}
mysqli_close($conn);
?>
答案 0 :(得分:0)
你的代码应该是。尝试使用结果数组循环。
if(mysqli_num_rows($result)>0)
{
while($row = mysqli_fetch_assoc($result)){
$event = $row["Events"];
$date = $row["Date"];
$code = "login_success";
array_push($response, array("code"=>$code, "Events"=>$event, "Date"=>$date));
}
echo json_encode($response);
}
答案 1 :(得分:0)
我不知道你的表格结构,但我认为你必须改变你的代码:
if(mysqli_num_rows($result)>0) {
$response = [];
while($row = mysqli_fetch_assoc($result)) {
$response[] = $row;
}
echo json_encode($response);
} else{
$code = "login_failed";
$message = "not found!";
array_push($response, array("code"=>$code, "messsage"=>$message));
echo json_encode($response);
}
mysqli_close($conn);
&GT;