@ikfah012
Не самый умный парень в этом чате

Как подключить ajax к кнопке для вывода данных из mysql?

Добрый день. У меня на сайте есть форма с выбором даты и кнопка. Хочу сделать так, чтобы по нажатию на эту кнопку выводили посты с датой, указанной в форме.
Вот код формы:
<label for="example-date-input" class="col-form-label">Дата</label>
<form method="post" name="delivery_date" action="func3.php" >
<input class="form-control" name="delivery_date" type="date" value="2019-03-22" id="example-date-input">
<button type="button" class="btn btn-info mb-3">Поиск</button>
</form>

а вот func3.php, к которому он обращается.
function get_date()
{
    global $link;
    $sql = "SELECT * FROM Users WHERE delivery_date = '{$_POST['delivery_date']}' AND delivery = '1'";
    $result = mysqli_query($link, $sql);
    $users = mysqli_fetch_all($result, MYSQLI_ASSOC);
    return $users;
}

Если я правильно понимаю, мне нужно корректно вызвать функцию get_date, чтобы передать данные из формы о дате и чтобы по нажатию кнопки всё это показывало данные из таблицы за указанную дату. delivery_date хранит информацию в виде varchar.
  • Вопрос задан
  • 411 просмотров
Решения вопроса 1
mrusklon
@mrusklon
Не получается? Яростно гугли!
$('#ваша форма').submit(function (e) {
    var th = $(this);
    var time = $(с когого ипнута взять дату).val();
    jQuery.ajax({
        url: "func3.php",
        type: "POST",
        //data: th.serialize(), // если надо взять все поля формы
        data: {time: time}, // если надо взять что то конкретное

        success: function (res) {
            if (res) {
                console.log(res.message);
            } else {
                alert(res.message);
            }
            return false;
        },
        error: function () {
            console.log("ошибочка, проблема с ajax");
        }



    e.preventDefault();
});

ну и дату придется формировать в том формате в каком она у вас

в php надо добавить ответ
$out = array(
    'message' => $message, 
);

// Устанавливаем заголовок ответа в формате json
header('Content-Type: text/json; charset=utf-8');

// Кодируем данные в формат json и отправляем
echo json_encode($out);

ну и в $message мы заносим все что получили из БД , а на клиенте уже из массива формируем вывод
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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