foreach внутри foreach объединить результаты двух запросов MySQL - PullRequest
0 голосов
/ 04 февраля 2019

мои запросы генерируют два результата, например

Затем я попытался получить результаты с двумя массивами с двумя циклами while

while ($rowPost = mysqli_fetch_assoc($grabPostsQuery)) { 
  $posts[] = $rowPost;            
}
while ($rowComment = mysqli_fetch_assoc($grabCommentsQuery)) {
   $comments[] = $rowComment;
}

$grabPostsQuery = "SELECT * FROM posts ORDER BY postDate DESC";
$grabPostsQuery = mysqli_query($link, $grabPostsQuery);
$grabCommentsQuery = "SELECT * FROM comments ORDER BY commentDate DESC";
$grabCommentsQuery = mysqli_query($link, $grabCommentsQuery);

Затем я создал вложенный foreach, как показано ниже

foreach($posts as $post) {
   foreach($comments as $comment) {
       echo $post['postContent']."<br>";
       echo $comment['commentContent']."<br>";
   }
}

Я могу получить доступ как к сообщениям, так и к комментариям, единственная проблема заключается в том, что цикл foreach повторяется несколько раз по сообщениям и комментариям, а затем отображает их дважды

Любая ПОМОЩЬ ПОЖАЛУЙСТА?

1 Ответ

0 голосов
/ 04 февраля 2019

Просто запустите свои циклы по отдельности, а не один внутри другого ...:

foreach($posts as $post) {
  echo $post['postContent']."<br>";
}
foreach($comments as $comment) {
  echo $comment['commentContent']."<br>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...