我有一個腳本,打印出數據庫內的郵件。打破foreach循環php
每條消息都是由不同的用戶編寫的。
我想只有用戶與消息創建者的朋友,才能夠查看消息。
腳本我是:
foreach($updatesarray as $data)
{
$qu=mysql_query("SELECT frid FROM friends WHERE usid='$uid'")or die(mysql_error());
$dataq=array();
$qurow=mysql_fetch_array($qu);
$dataq[]=$qurow['frid'];
foreach($dataq as $value){
if($value!=$data['uid_fk'])
continue;
}
/Continues the output of the message
第一的foreach從MySQL查詢陣列獲取數據。 然後,在那個foreach中,我執行另一個mysql查詢來識別當前登錄用戶的朋友列表。我把結果放入一個數組並創建一個新的foreach。如果發現任何迴路不是成爲一個用戶,它將繼續......但它不是繼續我希望它。我需要它跳過消息的整個輸出,而不是繼續第二個foreach。
變量$ data ['uid_fk']是存儲在數據庫中的消息創建者。
數據庫查詢:
if($viewtype=="friends"){
$viewquery="M.uid_fk=U.uid";
$query = mysql_query("SELECT M.msg_id, M.uid_fk, M.message, M.created, U.username, U.firstname, U.middlename, U.surname, M.uploads FROM messages M, users U WHERE $viewquery $morequery order by M.msg_id desc limit " .$this->perpage) or die(mysql_error());
}
我建議你已經用你的查詢來解決這個問題,只返回朋友的更新,而不是所有需要在PHP中過濾的更新。 – hakre 2012-03-13 17:20:23
讓我明白這一點。你需要擺脫第二個循環?如果您需要從中斷出,請使用關鍵字「break」。我不想變得時髦,我可能會錯過閱讀,請您更好地指出問題! – Michael 2012-03-13 17:21:12
對不起邁克爾,不要這樣突出,我需要「跳過」當前循環,並繼續其餘的foreach循環。 很好,我會在一分鐘內添加我的查詢代碼,因爲我不確定如何通過查詢來完成。我確實嘗試過。 – 2012-03-13 17:25:50