2016-05-22 2 views
0

У меня есть другой вопрос.билеты между двумя датами и два раза

Я застрял, показывая билеты между двумя датами и два раза.

У меня есть следующие поля таблицы:

Дата начала || ticketSDate, Время начала || билетSTime

Дата окончания || билет, время окончания || ticketETime

Я хочу, чтобы показать все билеты, где Конец Дата и время окончания которые больше или равны, как теперь И Если дата начала меньше или равно как и сейчас

Может кто-нибудь помочь мне здесь? Спасибо, Бенни

  <?php 

       $result = mysqli_query($con,"SELECT * FROM ticket WHERE ticketEDate >= NOW() AND ticketETime > NOW() AND ticketSDate <= NOW() ORDER by ticketSDate ASC"); 
       while($row = mysqli_fetch_array($result, MYSQL_BOTH)) { 



         echo '<tr> 
           <td><h8>'. $row['ticketName'] .'</h8></td><br> 

           <td><h4><strong>Begin:</strong> &nbsp; ',date("d.m.Y", strtotime ($row['ticketSDate'])),' &nbsp; ', date('H:i', strtotime ($row['ticketSTime'])).' hr.<h4></td> 
           <td><h4><strong>Einde:</strong> &nbsp; ',date("d.m.Y", strtotime ($row['ticketEDate'])),' &nbsp; ', date('H:i', strtotime ($row['ticketETime'])).' hr.<h4></td> 
           <td><h4>'. $row['ticketDescription'] .'</h4></td> 
           <td><h4>'. $row['ticketID'] .' <input name="book" type="button" value="Koop een ticket" /></h4></td> 
           <br><br> 
          </tr>'; 
        } 

      ?> 
+0

В чем проблема? – RomanPerekhrest

+0

Пожалуйста, сделайте свой вопрос более понятным, чтобы мы могли лучше сосредоточиться на нашем ответе! –

ответ

1

Это некорректная концепция мышления о time. Вы говорите,

Я хочу, чтобы показать все билеты, где Конец Дата и время окончания являются больше

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

Таким образом, вы должны использовать некоторые сгруппированные условия. Например, End datetime больше, чем сейчас.

Теперь, если дата окончания больше, чем сегодня, забудьте о времени ее бессмысленности.

WHERE ticketEDate > NOW() OR (ticketEDate = NOW() AND ticketETime > NOW()) 

Такая же концепция для начала.

Очень простым и лучшим решением было бы сохранить дату в виде одного поля, а затем ваш запрос будет очень простым.

+0

Эй, Ханки Панки, Спасибо за ваш ответ! Я конвертировал даты и время в одно поле, в базе данных, теперь оно хранится как 2016-05-22 19:00:00, очень эйзиер! Я использовал: SELECT * FROM ticket WHERE EVerkoop> СЕЙЧАС() И SVerkoop <= СЕЙЧАС() ORDER by SVerkoop ASC Еще раз спасибо – Benny