我的代码有问题,它有两个嵌套的foreach循环:
$message = mysqli_query($mysqli, "SELECT * FROM messages where pseudo ='".$Pseudo."'");
while ($data = mysqli_fetch_assoc($message)) {
$items[] = $data;
}
$items = array_reverse($items ,true);
foreach($items as $item) {
echo"".$item['msg']."";
$commentaires = mysqli_query($mysqli, "SELECT * FROM commentaires where msg ='".$item['msg']."' and profil ='".$item['pseudo']."'");
while($row = $commentaires->fetch_array()) {
$rows[] = $row;
}
foreach($rows as $row) {
$abc = $row[0];$commen = $row[3];
echo "$abc : $commen";
}
}
所以我在"消息"中输入了2个条目。和#34;评论"和4个条目2为"消息的第一个条目"第二个是2个。我想要那个:
MESSAGE1 -commentaire 1 -commentaire 2
消息2 -commentaire 3 -commentaire 4
这就是我所拥有的:
MESSAGE1 -commentaire 1 -commentaire 2
消息2 -commentaire 1 -commentaire 2 -commentaire 3 -commentaire 4
我在2小时内搜索我没有在mysqli中找到解决方案:( (当我做的时候
mysqli_data_seek($ commentaires,0);
不会改变任何事情) 抱歉我的英语不好:c
答案 0 :(得分:1)
我很确定这个:
while($row = $commentaires->fetch_array()){$rows[] = $row;}
将行附加到现有数组.. 这意味着如果你想让它按照书面形式工作,你必须在向它添加新数据之前清除$ rows。
我不是PHP鲨鱼,但我相信
unset($rows);
会做的伎俩