Sadyrbaev
@Sadyrbaev
https://sadyrbaev.ru/

Как отобразить таблицу из Mysql через json с помощью цикла?

Этот код корректно отображает таблицу, если добавить новую строку и перезагрузить страницу, таблица будет тоже обновлена и отображена с новой строкой.

$res2 = mysqli_query($conn, $sotr);

echo "<table class='table'><tr style='font-weight: bold;'><td>ФИО</td><td>Должность</td><td>Дата рождения</td><td>Мобильный номер</td><td>E-mail</td></tr>";

while ($rob = mysqli_fetch_row($res2)) {

echo "<tr><td>$rob[0]</td><td>$rob[1]</td><td>$rob[2]</td><td>$rob[3]</td><td>$rob[4]</td></tr>";

}

echo "</table>";


Сделал ajax запрос по нажатию кнопки который добавляет запись в БД. В том же обработчике запрашивается таблица, и через json корректно (без перезагрузки страницы) отображает только заданный массив записей в виде таблицы.

$res = mysqli_query($conn, $sotr);

while ($rob = mysqli_fetch_array($res)) {

$tor[] = "<tr><td>$rob[0]</td><td>$rob[1]</td><td>$rob[2]</td><td>$rob[3]</td><td>$rob[4]</td></tr>";

}

echo json_encode("<table class='table'><tr style='font-weight: bold;'><td>ФИО</td><td>Должность</td><td>Дата рождения</td><td>Мобильный номер</td><td>E-mail</td></tr>$tor[0]$tor[1]$tor[2]$tor[3]$tor[4]$tor[5]$tor[6]$tor[7]$tor[8]</table>");


НО, просто невозможно сделать так чтобы после нажатия кнопки через json отображались не только заданные в массиве строки, а все строки из цикла while. Добавляю jason_encode в while
$res = mysqli_query($conn, $sotr);

while ($rob = mysqli_fetch_array($res)) {

$tor[] = "<tr><td>$rob[0]</td><td>$rob[1]</td><td>$rob[2]</td><td>$rob[3]</td><td>$rob[4]</td></tr>";

echo json_encode("<table class='table'><tr style='font-weight: bold;'><td>ФИО</td><td>Должность</td><td>Дата рождения</td><td>Мобильный номер</td><td>E-mail</td></tr>$tor[0]$tor[1]$tor[2]$tor[3]$tor[4]$tor[5]$tor[6]$tor[7]$tor[8]</table>");
}


в консоли выдает такую ошибку 5ebd52ee1d82b341031721.png

json_encode работает вне while, но не работает внутри while.

Уважаемые, скажите пожалуйста, средствами php, json, javascript,html вообще возможно реализовать такую функцию?
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
json_encode работает вне while, но не работает внутри while.

Нормально он работает, но конкатенация нескольких Json строк не даст валидный Json.

НО, просто невозможно сделать так

Ну раз невозможно, какие вопросы?

Используйте implode вместо ручного перечисления. Или вообще не собирайте массив, а сразу конкатенируйте в одну строку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Cbonds.ru Санкт-Петербург
от 160 000 ₽
Инбисист Петрозаводск
от 50 000 до 100 000 ₽
Арт инт Ростов-на-Дону
от 70 000 до 120 000 ₽
16 июн. 2021, в 03:33
4500 руб./за проект
16 июн. 2021, в 03:12
3500 руб./за проект
16 июн. 2021, в 01:15
45000 руб./за проект