@Kaymakov

Не понимаю как вывести все строки из одной таблицы?

Мне надо вывести все строки из таблицы "пациентов", в которых есть определенная дата
607448f559b9b345202935.png
Показать их на странице вот так вот:
60744a4517f8b175163576.png

1. Делаю Ajax запрос:
let date = '12.04.2021';
    $.ajax({
        url: '../php/record_to_doctor/123.php',
        data:{date:date},
        type: 'POST',
        dataType:'JSON',
        success:function (data){
            console.log(data);
            },
        error:function (data){
            alert('NOT WORK');
        }
    })


2.Беру данные из БД:
require_once '../../includes/db.php';
$date = $_POST['date'];
global $pdo;
$stmt = $pdo->prepare('SELECT * FROM patients.patients_record_data WHERE dateRecord  =:dateRecord');
$stmt->execute(['dateRecord' => $date]);
while ($row = $stmt->fetch()) {
    echo json_encode($row);
}

3. получаю ответ в Response :
{"fullName":"\u041f\u0435\u0440\u0433\u0440\u0435\u0440 \u041f\u0435\u0440\u0433\u043f\u0440 \u041f\u0435\u043f\u0435\u0433\u0440","phoneNumber":"+7(123)123-12-31","dateRecord":"12.04.2021","doctor":"467346","startTime":"10:00","endTime":"11:00","lament":"\u0434\u0449\u043b\u0449\u0435\u043d\u043533"}{"fullName":"\u0412\u0430\u043b\u0435\u0440\u0438\u0439 \u0412\u0430\u043b\u0435\u0440\u0430 \u0412\u0430\u043b\u0435\u0440\u0435\u0432\u0438\u0447","phoneNumber":"+7(112)312-31-23","dateRecord":"12.04.2021","doctor":"123123","startTime":"11:00","endTime":"12:00","lament":"3123123\u043f\u0430\u043f"}

и срабатывает error ajax.
4. не знаю как выводить через ajax в html
  • Вопрос задан
  • 102 просмотра
Решения вопроса 2
@galaxy
Вы несколько JSON-ответов запихнули в один. Соберите ваши строки в массив сначала:
$stmt->execute(['dateRecord' => $date]);
echo json_encode($stmt->fetchAll());
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Ну всё правильно, вы выводите не массив элементов, у кучу элементов, один за другим.
Это как текст писать - без знаков препинания и пробелов, и читающим будет непонятно.
Вот и JS такой JSON не примет, в нем ошибка, нет JSON-структуры.
Сделайте так:
$out = array();
while ($row = $stmt->fetch()) {
    $out[] = $row;
}
header('Content-Type: application/json');
echo(json_encode($out));
exit();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
w3bsmes
@w3bsmes
Куратор тега «Глупые вопросы»
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы