我想在一个网页上列出(最多)该流行病年度剩余的六个作业。 其余分配的数据来自mysql数据库。 当剩余六个或更多任务时,网页将正确显示信息。 如果剩下的少于六个,那么我会得到一个未定义的偏移错误(我明白原因)。 基本上,我试图以编程方式忽略偏移量错误。
我尝试过查找以下内容: 试试
php。 尝试使用(在foreach循环中) if($ row ['name'] == null){$ row ['name'] =“”;} 等
index.php
include('getdata.php');
$nextAssArray0 = getNextAssessments($courseInfoArray[0], 0);
$nextAssArray1 = getNextAssessments($courseInfoArray[0], 1);
$nextAssArray2 = getNextAssessments($courseInfoArray[0], 2);
$nextAssArray3 = getNextAssessments($courseInfoArray[0], 3);
$nextAssArray4 = getNextAssessments($courseInfoArray[0], 4);
$nextAssArray5 = getNextAssessments($courseInfoArray[0], 5);
<div class="col-sm-4">
<h3>You have <?php echo '' ?> assignments left</h3>
<p>Assignment: <?php echo $nextAssArray0[0]; ?> is due on <?php echo $nextAssArray0[1]; ?></p>
<p>Assignment: <?php echo $nextAssArray1[0]; ?> is due on <?php echo $nextAssArray1[1]; ?></p>
<p>Assignment: <?php echo $nextAssArray2[0]; ?> is due on <?php echo $nextAssArray2[1]; ?></p>
<p>Assignment: <?php echo $nextAssArray3[0]; ?> is due on <?php echo $nextAssArray3[1]; ?></p>
<p>Assignment: <?php echo $nextAssArray4[0]; ?> is due on <?php echo $nextAssArray4[1]; ?></p>
<p>Assignment: <?php echo $nextAssArray5[0]; ?> is due on <?php echo $nextAssArray5[1]; ?>
</p>
</div>
getdata.php
function getNextAssessments($courseID, $offset)
{
try
{
include('dbconn.php');
$array = array();
$stm = $conn->prepare("CALL getUpcomingAssignments(:courseID, :offset)");
$stm->bindParam(':courseID', $courseID);
$stm->bindParam(':offset', $offset);
$stm->execute();
foreach ($stm->fetchALL() as $row)
{
array_push($array, $row['name']);
array_push($array, $row['due_date']);
array_push($array, $row['tem']);
}
}
catch (Exception $e)
{
$array = array('','','');
}
return $array;
}
我追求以下功能: 1)如果只剩下三个分配-那么只显示三个
。 2)如果剩下十个作业-那么仅显示六个。 3)如果没有剩余的分配,则这些
中将不显示任何内容
答案 0 :(得分:1)
首先,对每个数据库记录进行SQL查询不是一个好主意。从查询中删除限制,并将所有评估放入数组中。然后执行以下操作:
<h3>You have <?php echo count($assesments) ?> assignments left</h3>
<?php
foreach($assesments as $assesment){
echo "<p>Assignment: {$assesment[0]} is due on {$assesment[1]} ?></p>"
}
?>
我也建议您更改代码,以便使用$assesment['dueDate']
之类的数组,而不是$assesment[1]
。