Задать вопрос
Sadyrbaev
@Sadyrbaev

Как отобразить таблицу из 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 вообще возможно реализовать такую функцию?
  • Вопрос задан
  • 83 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
json_encode работает вне while, но не работает внутри while.

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

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

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

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

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

Похожие вопросы
18 дек. 2024, в 12:39
1000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект