Массив / цикл комментариев не зациклен

Я пытаюсь зациклить все комментарии от $feed В то время как цикл пока только один комментарий, что я делаю не так? Если я удаляю имя, они зацикливаются.
Как я могу назвать комментарий во время цикла? Я думаю, что это может решить мою проблему. Ниже мой текущий код

$rows = array();
while($feed = mysqli_fetch_assoc($sth)) {
$query_ppimage = "SELECT id, post_id, relation, userID, file_format FROM media WHERE userID = '".$feed['userID']."' AND relation = 'profile_picture' UNION ALL SELECT -1 id, '55529055162cf' post_id, 'profile_picture' relation, '0' userID, 'jpg' file_format ORDER BY id DESC LIMIT 1";
$qppimg = $conn->query($query_ppimage);
while($ppimg = mysqli_fetch_assoc($qppimg)) {
$newrow = $feed;
if($feed['relation'] == 'page'){
$query_type = "SELECT name as 'page_name' FROM pages WHERE id = '".$feed['relation_id']."'";
$typeload = $conn->query($query_type);
while($type = mysqli_fetch_assoc($typeload)) {
$newrow['postto'] = $type;
}
}
$newrow['ppimage'] = $ppimg;
}
$comment_load = "SELECT * FROM media_comments WHERE post_id = '".$feed['post_id']."'";
$comments = $conn->query($comment_load);
while($com = mysqli_fetch_assoc($comments)) {
$newrow['comments'] = $com;
}
$rows[] = $newrow;
}
print json_encode($rows);

0

Решение

Согласно моему комментарию, проблема, с которой вы сталкиваетесь, заключается в том, что на каждой итерации в while петля, ты перезапись $newrow['comments']. Следовательно, вы получите только одно значение в конце цикла, и оно будет последним значением, которое встречается в цикле while.

На самом деле вы хотите добавить свой комментарий к нему, используя синтаксис квадратных скобок массивов PHP (то есть путем добавления []).

Это делается путем присвоения значений массиву с указанием ключа в скобках. Ключ также можно опустить, в результате чего получится пустая пара скобок ([]).

$arr[key] = value;
$arr[] = value;
// key may be an integer or string
// value may be any value of any type

Если $ arr еще не существует, он будет создан,

Это значит делать это:

while($com = mysqli_fetch_assoc($comments)) {
$newrow['comments'][] = $com;
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector