我有這個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>
我怎樣才能得到上面顯示只有當如果條件得到滿足,併爲消息dissapear如果沒有顯示的記錄?
對我來說聽起來像你想做的事(我也不確定是否完全理解了你)應該在數據庫查詢中完成 - 而現在你似乎正在加載所有記錄,然後做一些簡單的過濾腳本的一面。 – CBroe