@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.
  • Вопрос задан
  • 413 просмотров
Решения вопроса 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 мы заносим все что получили из БД , а на клиенте уже из массива формируем вывод
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 00:45
1000 руб./за проект
02 мая 2024, в 23:56
2000 руб./за проект
02 мая 2024, в 23:29
1500 руб./в час