我有这个 foreach 来显示个别课程。但是,正如您在下面的代码中看到的那样,我省略了一些记录。此外,通过使用$found
我将消息最小化为一条消息。
$found = false;
foreach($lessons as $lesson)
{
if(Auth::LoggedIn())
{
if(Auth::$userinfo->rank == 'Student')
{
if($lesson->aircraft == 'C172')
{
$found = true;
break;
}
if($lesson->theory == '1')
{
$found = true;
break;
}
}
/* Actual foreach data here, a table row displaying a result */
}
if($found)
{
echo '<div class="msg-yellow"><strong>A selection of lessons could not be displayed, because you have to complete other lessons first.</strong></div><br/>';
}
我想知道如何对另一条消息进行反之亦然的解决方案。基本上,我有这条消息计算找到的所有记录。我希望消息消失,如果没有显示记录,而且我发现每当记录被隐藏时,下面的解决方案仍然会计算它们。
比如说,数据库中有 50 条记录,$if(lesson->aircraft == 'C172'
会遗漏 6 条记录。它应该显示为 44,而不是 50,就像它一样。我想这是因为count
我在 foreach 之外,在它之上,所以它计算了条件之前的所有记录。
<div class="msg-blue"><strong>Your search criteria returned <?php echo count($lessons); ?> lessons available for booking.</strong>
如何仅在满足 if 条件时才显示上述内容,并且如果没有显示任何记录,则消息消失?