При попытке вывода получаю - Array
$id = $_GET['id'];
$sql = mysqli_query($mysql, 'SELECT * FROM `supportchat` WHERE `id`="'.$id.'"');
$messages = [];
foreach($sql as $row){
if ($row["isoper"] != 1) {
$messages[][] = "<div class=\"chat-message is-client\"><div class=\"chat-message__content\"><div class=\"chat-message__bubble-wrapper\"><div class=\"chat-message__bubble chat-bubble chat-bubble--client js-message-bubble js-open-chat\"><div class=\"chat-bubble__inner\"><div class=\"chat-bubble__message\"><span class=\"chat-bubble__message-text parsed-text parsed-text--message parsed-text--dark-bg\">{$row["message"]}</span></div></div></div></div></div></div>";
} else {
$messages[][] = "<div class=\"chat-message is-operator\"><div class=\"chat-message__content\"><div class=\"chat-message__bubble-wrapper\"><div class=\"chat-message__bubble chat-bubble chat-bubble--operator js-message-bubble js-open-chat\"><div class=\"chat-bubble__inner\"><div class=\"chat-bubble__message\"><span class=\"chat-bubble__message-text parsed-text parsed-text--message parsed-text--very-light-bg\">{$row["message"]}</span></div></div></div></div></div></div>";
}
}
Вот код.
Хочу получить список сообщений
<div class="chat-shaft__inner js-chat-shaft" id="chat-messages" style=""><?=$messages?></div>
А получаю Array.
Как решить?
Ответы (1 шт):
Автор решения: Evgeniy Leonidov
→ Ссылка
Предположу что есть перебор с двойным индексом в $messages[][], это привело к созданию многомерного массива.
$messages = []; // тут у вас одномерный массив
foreach($sql as $row){
if ($row["isoper"] != 1) {
// и тут тоже должен быть
$messages[] = "<div class=\"chat-message is-client\"><div class=\"chat-message__content\"><div class=\"chat-message__bubble-wrapper\"><div class=\"chat-message__bubble chat-bubble chat-bubble--client js-message-bubble js-open-chat\"><div class=\"chat-bubble__inner\"><div class=\"chat-bubble__message\"><span class=\"chat-bubble__message-text parsed-text parsed-text--message parsed-text--dark-bg\">{$row["message"]}</span></div></div></div></div></div></div>";
} else {
// и тут тоже
$messages[] = "<div class=\"chat-message is-operator\"><div class=\"chat-message__content\"><div class=\"chat-message__bubble-wrapper\"><div class=\"chat-message__bubble chat-bubble chat-bubble--operator js-message-bubble js-open-chat\"><div class=\"chat-bubble__inner\"><div class=\"chat-bubble__message\"><span class=\"chat-bubble__message-text parsed-text parsed-text--message parsed-text--very-light-bg\">{$row["message"]}</span></div></div></div></div></div></div>";
}
}
Ну и если я вас правильно понял, то соберите все элементы в строку через implode
<div class="chat-shaft__inner js-chat-shaft" id="chat-messages" style=""><?=implode("", $messages)?></div>