В Json_encode только 1 элемент из цикла

Подскажите, почему в json только последний элемент из БД? Если закодировать в цикле, jq ajax выдает ошибку.

<?php
 if(isset($_POST['u_id']))
{
   $query = R::getAll("SELECT * FROM messages WHERE user_id = ".$_POST['u_id']."");
   foreach($query as $value){
    if(!empty($value['text'])){
    $msgs = '<p>'.$value['text'].'</p>';
}elseif(!empty($value['image'])){
    $msgs = '<img src="/media/'.$value['image'].'" alt="">';
  } 
 }
   $msg_arr = array("messages" => $msgs);
   echo json_encode($msg_arr);
   exit;
}

Ответы (1 шт):

Автор решения: Ivan Bolnikh

Надо заполнять массив, вот так

$msgs[] = '<p>'.$value['text'].'</p>';

$msgs[] = '<img src="/media/'.$value['image'].'" alt="">';
→ Ссылка