• Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, Хотел поблагодарить вас за то, что вы мне помогли :)
    У меня получилось! :)
    Я просто вставил этот php-код прямо на страницу и всё заработало :)
    Может выложите в ответы свой вариант решения, чтобы я отметил его как верное решение?
  • Как написать рандом?

    @ikfah012
    Откуда ваш скрипт будет черпать слова для рандома?
  • Как убрать отступы между блоками?

    @ikfah012
    А ссылку можно? По тому, что вы скинули не особо понятно, но скорее всего некорректно определили margin блоков
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, смотрите, если я преобразую код вот так:
    if(isset($_POST['delivery_date']))
    {
        $form_date = $_POST['delivery_date'];
        printf($form_date);
        $SQL = "SELECT * FROM Users WHERE delivery_date='$form_date' AND delivery=1";
        $result = mysqli_query($link, $SQL);
    
    
        while ($res = mysqli_fetch_assoc($result)) {
            printf ("%s\n", $res["phone"]);
            printf ("%s\n", $res["name"]);
            printf ("%s\n", $res["surname"]);
            printf ("%s\n", $res["second_name"]);
            printf ("%s\n", $res["comment"]);
    
        }
    }

    То на выходе получаю строку:
    2019-01-01это номер1 это фио 1 это коммен1т это номер2 это фио 2 это коммент2

    Т.е. получается, что всё-таки я корректно передаю и принимаю дату :)
    Осталось понять, как мне вывести эти значения на страницу...
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, странно, но у меня работает. Т.е. если я делаю не просто голый селект, а селект коммент например, то он выводит дату и все комменты за эту дату.
    "2019-01-01это коммент это коммент2"
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, смотрите, может я смогу объяснить на примере того, что уже было сделано ранее.
    Есть у меня страница с доставкой, вот она, на ней показываются таблицы с данными, у которых delivery=1:
    5c9f2d59037b0457943727.png
    Сама структура страницы выглядит так: (много кода, уберу лишние div-ы)

    <?php
        require_once 'functions.php';
        ?>
        
    <?php
                $post = get_delivery_users();
                ?>
                <?php foreach ($post as $users): ?>
                <div class="col-lg-12 mt-5">
                                <div class="card">
                                    <div class="card-body">
                                        <h4 class="header-title">Анкета №<?=$users['id']?> (<?=$users['order_date']?> <?=$users['order_time']?>)</h4>
                                        <form>
                                          <input type="hidden" name="form_id" value="<?=$users['id']?>">
                                                <table class="table text-center">
                                                    <thead class="text-uppercase bg-success">
                                                    <tr class="text-white">
                                                        <th scope="col">Номер</th>
                                                        <th scope="col">ФИО</th>
                                                        <th scope="col">Доставка</th>
                                                        <th scope="col">Дата доставки</th>
                                                        <th scope="col">Время доставки</th>
                                                        <th scope="col">Сумма</th>
                                                        <th scope="col"> </th>
    
                                                    </tr>
                                                    </thead>
                                                    <tbody>
                                                    <tr>
    
                                                        <td><textarea class="form-control" type="text" name="phone" value="" id="example-text-input"><?=htmlspecialchars($users['phone'], ENT_QUOTES)?></textarea></td>
                                                        <td><textarea class="form-control" type="text" name="name" value="" id="example-text-input"><?=htmlspecialchars($users['surname'], ENT_QUOTES)?> <?=htmlspecialchars($users['name'], ENT_QUOTES)?> <?=htmlspecialchars($users['second_name'], ENT_QUOTES)?></textarea></td>
                                                        <td><div class="form-group">
                                                            <select name="delivery_adress" class="form-control">
                                  <? foreach(get_delivery_addresses() as $delivery_address): ?>
                                    <option <?if ($delivery_address == $users['delivery_adress']) echo ' selected'?>><?=htmlspecialchars($delivery_address, ENT_QUOTES)?></option>
                                  <? endforeach;?>
                                                            </select>
                                                        </div></td>
                                                        <td><div class="form-group">
                                                                <input class="form-control" type="date" name="delivery_date" value="<?=htmlspecialchars(date('Y-m-d', strtotime($users['delivery_date'])), ENT_QUOTES)?>" id="example-date-input">
                                                            </div></td>
                                                            <td><div class="form-group">
                                                                <textarea class="form-control" type="text" name="delivery_time" value="" id="example-text-input"><?=htmlspecialchars($users['delivery_time'], ENT_QUOTES)?></textarea>
                                                            </div></td>
                                                        <td><textarea class="form-control" type="text" name="manager_comment" value="" id="example-text-input"><?=htmlspecialchars($users['manager_comment'], ENT_QUOTES)?></textarea></td>
                                                        <td><button type="submit" formmethod="post" name="save" formaction="save.php" class="btn btn-rounded btn-warning mb-3">Сохранить</button></td>
                                                    </tr>
                                                    </tbody>
                                                </table>
                                        </form>
                            <!-- table primary end -->
                <?php endforeach; ?>


    Т.е. получается при загрузке страницы я вывожу на неё таблицы, в которых в textare записаны данные из бд, которые можно поменять и по нажатию кнопки сохранить.
    Вот так выглядит functions.php, к которому он обращается.
    function get_delivery_users() {
        global $link;
        $sql = "SELECT * FROM Users WHERE delivery = '1' ORDER BY id DESC LIMIT 25";
        $result = mysqli_query($link, $sql);
        $users = mysqli_fetch_all($result, MYSQLI_ASSOC);
        return $users;
    }


    А теперь моя задача состоит в том, чтобы сделать нечто подобное, но только с выбором даты...
    И я хоть убейте не могу понять как мне это сделать правильно :( Понимаю, что нужно как-то массив данных передать в цикл и как-то вывести значения...
  • Как сделать вывод данных на страницу?

    @ikfah012 Автор вопроса
    Владимир, Как число. Но что с кавычками, что без них - результат один.
    Смысл вопроса в том, как вывести данные на странице с выбором даты. У меня получилось вытащить данные из таблицы, нужно лишь правильно это оформить
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, вот что выходит:
    2019-01-01это коммент это коммент2
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, т.е. по идее оно вроде как начало работать, но не полностью :)
    Мне осталось понять как правильно вывести данные ВСЕХ полей за эту дату, а также как правильно это вывести на той странице, где я выбираю дату, ну или хотя бы на её копии :)
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, я там выше скрин таблицы прикрепил - в ней есть эти поля.
    за выбранную дату есть записи, если я делаю так:
    $SQL = "SELECT comment FROM Users WHERE delivery_date='$form_date' AND delivery='1'";
        $result = mysqli_query($link, $SQL);
    
    
        while ($res = mysqli_fetch_assoc($result)) {
            printf ("%s\n", $res["comment"]);
        }

    Получаю страницу с записью "это коммент это коммент2" у меня как раз две записи с delivery=1 и выбранной датой, т.е. их поля comment выгружаются.
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, в своей версии я уже убрал сортировку, она не нужна. Что именно запрос делает я тоже понимаю.
    Я тупой только в вопросе как мне это вывести на экран всё :(
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, всё в таблице Users, она одна в бд.
    5c9f13f509d1a630567525.png
    Вот её структура.
    5c9f1416df9e4259519141.png
    Так выглядят даты доставки, они не date, они varchar
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, вот db.php, в нём как раз указана таблица, да она и одна в базе)
    <?php
    
    //Параметры подключения в БД
    $host = "localhost"; //имя хоста
    $database = "test1"; //имя базы
    $user = "root"; //пользователь
    $password = ""; //пароль
    $dbtable = "Users"; //таблица
    
    $link = mysqli_connect($host, $user, $password, $database)
    or die("Ошибка " . mysqli_error($link));
    
    ?>
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, попробовал немного по-другому запрос составить, вот что получил.
    $SQL = "SELECT phone FROM Users WHERE delivery_date='$form_date' AND delivery='1'";
    это сам запрос, а вот что получаем.
    object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(1) ["lengths"]=> NULL ["num_rows"]=> int(2) ["type"]=> int(0) }
    Notice: Undefined index: delivery_date in C:\OpenServer\OSPanel\domains\admin\date.php on line 16

    Notice: Undefined index: delivery_date in C:\OpenServer\OSPanel\domains\admin\date.php on line 16
    Попробовал поменять printf ("%s\n", $res["delivery_date"]);
    на
    printf ("%s\n", $res["phone"]);
    И получил вывод номера...
    кажется, я начал понимать, но это не точно.
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, уже пробовал :(
    Всё то же самое
  • Как сделать вывод данных на страницу?

    @ikfah012 Автор вопроса
    Уже поправил, проблема моего вопроса всё равно не в этом.
    Если делать проверку результата, то получается вот что:
    object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(23) ["lengths"]=> NULL ["num_rows"]=> int(1) ["type"]=> int(0) } 2019-01-01
  • Как правильно обработать выбор и вывод даты?

    @ikfah012 Автор вопроса
    Евгений, смотрите, немного поменял код.
    <?php
    ini_set('error_reporting', E_ALL); // Включаем вывод всех ошибок
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    require_once('db.php');
    
    if(isset($_POST['delivery_date']))
    {
        $form_date = $_POST['delivery_date'];
    
        $SQL = "SELECT * FROM $dbtable WHERE delivery_date='$form_date' AND delivery='1' ORDER BY id DESC";
        $result = mysqli_query($link, $SQL);
        var_dump($result); //смотрим приходит ли что-то по запросу
    
        while ($res = mysqli_fetch_assoc($result)) {
            printf ("%s\n", $res["delivery_date"]);
        }
    }
    ?>

    В результате получаю
    object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(23) ["lengths"]=> NULL ["num_rows"]=> int(1) ["type"]=> int(0) } 2019-01-01
    Судя по всему мне надо как-то запрос, может быть, переписать?
  • Как сделать вывод данных на страницу?

    @ikfah012 Автор вопроса
    Павел, получил это:
    bject(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(23) ["lengths"]=> NULL ["num_rows"]=> int(1) ["type"]=> int(0) } 2019-01-01
    Судя по всему запрос составлен некорректно?
  • Как сделать вывод данных на страницу?

    @ikfah012 Автор вопроса
    Понятно. И что дальше-то делать? Как мне вывести записи из базы за эту полученную дату? :)
  • Как сделать вывод данных на страницу?

    @ikfah012 Автор вопроса
    Павел, вот, что получил на выходе:
    string(10) "2019-01-01" 2019-01-01