我有一个脚本,打印出数据库内的邮件。打破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