Как показать дату, которую пользователь выбрал с php? - PullRequest
1 голос
/ 22 апреля 2020

Я делаю веб-сайт ресторана для школьного проекта, и моя группа думала, что было бы здорово сделать онлайн бронирование. Для онлайн-бронирования мы хотели, чтобы это было похоже на форму, в которой они вводят свое имя, выбирают дату и время и отправляют форму, а на странице успеха будет показана дата и время их бронирования. Например, «Спасибо, _____, ваш заказ установлен на DATE at Time». Я смог выполнить sh с помощью PHP, я сделал форму

<form action= "reservation_post.php" method="post">

  <div class="resNames">

    <div class = "resFlexGroup">
      <label class="resTitle">First Name</label>
      <input type="text" name="fName" class="resHalf">
    </div>

    <div class = "resFlexGroup">
      <label class="resTitle">Last Name</label>
      <input type="text" name="lName" class="resHalf">
    </div>
  </div>

  <div class="resSizeDateTime resRow">

    <div class=" flexSmallThird">
      <label class="resTitle">Party Size</label>
      <select class="partySize" name="partySize">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
       </select>
     </div>


    <div class = "flexThird">
      <label class="resTitle">Reservation Date</label>
      <input type="text" name="datepicker" id="datepicker">
    </div>



      <div class="flexThird">
      <label class="resTitle">Reservation Time</label>
      <select id="partySize" name="resTime" class="resHalf">
        <option value="1:00 PM">1</option>
        <option value="2: 00 PM">2</option>
        <option value="partyThree">3</option>
        <option value="partyFour">4</option>
        <option value="partyFive">5</option>
        <option value="partySix">6</option>
        <option value="partySeven">7</option>
        <option value="partyEight">8</option>
        <option value="partyNine">9</option>
        <option value="partyTen">10</option>
       </select>
     </div>

</div>

  <div class="resAccess resRow">
    <input type="checkbox" name="access" class="checkAccess"> <label class="resTitle">Need Accessable Seating?</label>
  </div>

    <div id="yesAccess">
      <label class="resTitle">How many in party?</label>
      <select class="partySize" name="partyAccess">
         <option value="partyOne">1</option>
         <option value="partyTwo">2</option>
         <option value="partyThree">3</option>
         <option value="partyFour">4</option>
         <option value="partyFive">5</option>
         <option value="partySix">6</option>
         <option value="partySeven">7</option>
         <option value="partyEight">8</option>
         <option value="partyNine">9</option>
         </select>
       </div>
                 <div class="submit-button">
    <input type="Submit" name="SubmitThis" value="Submit" class="submit-btn">
                </div>
   </form>

Это код, который у меня есть для формы.

<?php
include ('components.php');
$fName = $_POST['fName'];
$lNamee = $_POST['lName'];
$partySize = $_POST['partySize'];
$date = $_POST['var'];
$time = $_POST['resTime'];
$checkbox = $_POST['access'];
$bgcolor = $_POST['partyAccess'];

$permitted_chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$code = substr(str_shuffle($permitted_chars), 0, 5);

$output="<p>Thank you <span class='resEmphasis'>$fName</span>, we'll have a table ready for your party of <span class='resEmphasis'>$partySize</span> at <span class='resEmphasis'>$time</span> on <span class='resEmphasis'>$date</span>. </p> <p>Your code is:</p><span id='resCode'>$code</span> <p>Show this code to the host to check in.</p>";

?>

Это код, который я Я должен вызвать пользовательский ввод.

(Извините за все дивы, и поэтому я использовал его для CSS. Кроме того, он довольно неполный, поэтому я знаю, что время неверное.)

Для дата, я смог заставить его работать, когда я использовал ввод даты HTML, но когда я вызвал функцию на другой странице, она была отформатирована как «2020-04-03», что я нашел очень некрасивым и не очень удобный для пользователя. Я прочитал, что не было никакого способа переформатировать его, поэтому я решил загрузить DatePicker JQuery UI. Я лично нашел, что это более эстетично, но теперь я понятия не имел, как вызвать функцию и показать ее пользователю. Кроме того, когда я звонил по выбору даты, я также пытался использовать datepicker вместо var, но у меня все еще не было результатов. Я думаю, что мне нужно как-то получить выбранное значение из части jquery, но я не знаю, как это сделать):

Это просто для школьного проекта, так что если мне придется вернуться на вход HTML я буду, но это так уродливо, и я действительно не хочу этого делать. Также, если есть способ сделать это со временем, я бы предпочел сделать это тоже, я просто сделал его выпадающим меню, чтобы отформатировать его, чтобы он выглядел более удобным для пользователя в форме сообщения.

1 Ответ

0 голосов
/ 24 апреля 2020

если вы храните данные в базе данных, вы можете создать запрос SQL, используя функцию DATE_FORMAT (), она поможет вам получить дату и время в нужном формате, вот как это работает:

SELECT pseudo, message, DATE_FORMAT(date, '%d/%m/%Y %Hh%imin%ss') AS
date FROM members

, где дата имеет тип DATETIME в качестве типа в моей базе данных, а второй параметр содержит символы того, как вы хотите отобразить свою дату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...