Mysql
 sql >> база данни >  >> RDS >> Mysql

Показване на най-близкия резултат до текущата дата и час (MySQL и PHP)

Бих се отказал от използването на PHP методите за дата/час и бих разчитал на MySQL да даде заявка, която изглежда като

SELECT * FROM table_name 
WHERE date > CURRENT_DATE
OR (
    date = CURRENT_DATE
    AND 
    time > CURRENT_TIME
)
ORDER BY date ASC, time ASC LIMIT 1

ИЛИ се уверява, че получава правилните записи, в противен случай частта TIME би блокирала показването на резултат в 03:00 от следващия ден, ако текущото време беше в 06:00

Виждам, че използвате стойности на времеви отпечатъци там, така че винаги можете да подавате числото за дата на PHP на мястото на CURRENT_DATE. Това ще даде краен скрипт на

$timestamp_now = strtotime(date('d-m-Y')); //Creates a timestamp of the currect date
$sql = mysql_query('SELECT * FROM table_name 
                    WHERE date > '.$timestamp_now.'
                    OR (
                        date = '.$timestamp_now.'
                        AND 
                        time > CURRENT_TIME
                    )
                    ORDER BY date ASC, time ASC LIMIT 1') or die(mysql_error());
$data = mysql_fetch_array($sql);

Бих посъветвал да обмислите промяна на базата данни, ако е възможно, за да я съхранявате само като поле DATETIME на MySQL, тъй като тогава можете да промените тази заявка просто на WHERE datetime > NOW() , но това зависи изцяло от вас. Просто винаги съм смятал, че обработката на датата в MySQL е по-логична от PHP.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:защо varchar(254), а не varchar(255)?

  2. Не може да се конвертира MySQL.DateTime в System.DateTime със стойности 0000-00-00 00:00:00

  3. как да използвате zend paginate, без да зареждате всички резултати от база данни

  4. Ще бъде ли изграждането на приложение с помощта на Sql Server Database File (mdf) ужасна идея?

  5. Създаване на таблица с mysql, php и ajax (с jquery)