图书馆管理系统
问题:管理员或图书馆希望看到学生的借阅请求。但是,它有时无法显示数百个请求。
环境:localhost中的XAMPP,PHP,MYSQL(Mariadb 10.1.21),angularjs作为前端框架。你可以参考这个查询和db - > https://www.db-fiddle.com/f/asGAdqfK3cP29svgQtBM9F/5#&togetherjs=Kp3I4En96O
JS代码:
epf1
PHP代码:
$http.get("GetAllBorrow.php", { params: { "StudentID":""} })
.then(function(data) {
console.log(data.data);
$scope.requests = data.data;
GetBorrowItem.php代码
if(strcmp($_GET["StudentID"] , "") == 0)
{
$sql = //query 1
} else {
exit('Invalid student');
}
$result = mysqli_query($conn,$sql) or die (mysql_error());
$data = array();
while($row = mysqli_fetch_array($result,MYSQL_ASSOC))
{
$borrowItemID= $row['borrowItemID'];
$resourceID= $row['resourceID'];
$borrowingID= $row['borrowingID'];
include('GetBorrowItem.php');//from query 2 to query 8
$data[] = $row;
}
我已经解决了这个问题差不多两个星期但仍无法找到解决方案。 以下是我所做的事情:
怀疑因为一次检索太多数据 - >删除了数据库中的一些数据 - >结果:它可以显示但有时不能
一行一行重度调试 - >它只是显示为空白(从数据库中检索任何内容) - >疑似代码问题,但它确实曾经用过,两个月后才发生错误
答案 0 :(得分:0)
使用以下代码修改您的PHP代码。
if(strcmp($_GET["StudentID"] , "") == 0)
{
$sql = //query 1
} else {
exit('Invalid student');
}
$result = mysqli_query($conn,$sql) or die (mysql_error());
$data = array();
while($row = mysqli_fetch_array($result,MYSQL_ASSOC))
{
$borrowItemID= $row['borrowItemID'];
$resourceID= $row['resourceID'];
$borrowingID= $row['borrowingID'];
$str1 = substr ($resourceID,0,2);
if(strcmp($str1, "IN") == 0) {
$sql2 = //query 2
} else if(strcmp($str1, "BO") == 0) {
$sql2 = //query 3
} else if (strcmp($str1, "CD") == 0) {
$sql2 = //query 4
} else if (strcmp($str1, "MG") == 0) {
$sql2 = //query 5
} else if (strcmp($str1, "EB") == 0) {
$sql2 = //query 6
} else if (strcmp($str1, "FL") == 0) {
$sql2 = //query 7
} else if (strcmp($str1, "DC") == 0) {
$sql2 = //query 8
} else{
die ("There is no such item!");
}
$result2=mysqli_query($conn,$sql2) or die(mysqli_error($conn));
while($row2 = mysqli_fetch_array($result2,MYSQL_ASSOC)){
array_push($data,$row2);
}
}
echo json_encode($data);
希望这会有所帮助..!