Подскажите, пожалуйста, как правильно вывести данные из массива? Примерное, содержание массива: id: 1, cid: 1, msg: hello. id: 2, cid: 1, msg: hey. how are you doing? id: 3, cid: 2, msg: hello from the other side... id 4, cid 2, msg: hello т.е id, cid - группа, и два сообщения в каждой группе. Я пытаюсь вывести данные с помощью foreach: PHP: if($row['sender'] == $_SESSION['ID']){ echo "<div class='item'>"; echo "<div class='me'>".$row['msg']."</div>"; } elseif($row['sender'] != $_SESSION['ID']){ echo "<div class='you'>".$row['msg']."</div>"; echo "</div>"; Я хочу вывести сообщения таким образом: <div class='item'> <div class='me'></div> <div class='you'></div> </div> Все хорошо до тех пор, пока первое условие IF оказывается не верным, и условие пропускается. Каким способом можно вывести только те данные, чтобы оба условия выполнились? А та группа, где сообщение начинается с div.you и после div.me - не выводились? P.S/ Возможно, что у меня неправильно составлен SQL-запрос, но я уже перепробовал все варианты и прийти к нужному результату не получается.
Спасибо за ответ, вот только, к сожалению, это, наверное, совсем не то, да и как-то сложно это все представляю, так как данные в массиве не статичны и каждый раз будут меняются. Мне все больше начинает казаться, что все же необходимо менять сам SQL- запрос, потому что-то как-то отсортировать в PHP этот массив я тоже не представляю. Вот только в таком случае необходимо выбрать MAX(id), где sender != $_SESSION['ID'], и вывести еще предыдущее сообщение. И как я не пробовал писать запросы, у меня получается вывести только два последних сообщения для каждой группы, поэтому и подумал, что можно как-то с помощью PHP вывести лишь нужные данные. В общем, у меня уже мозг поплыл, поэтому и пытаюсь найти помощь.
Вот в этой теме: https://php.ru/forum/threads/edinyj-zapros-v-msql-ili-while-zhit-ili-ne-zhit.89418/ пользователь решает примерно то же самое.