Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Wyświetlanie rekordów dodanych 30 sekund temu
Forum PHP.pl > Forum > Przedszkole
trifek
Witam serdecznie,
Mam taką tabelę:

  1.  
  2. CREATE TABLE IF NOT EXISTS `message` (
  3. `id` bigint(20) UNSIGNED NOT NULL,
  4. `datawysylki` datetime DEFAULT NULL,
  5. `zaproszenie` char(1) COLLATE utf8_unicode_ci NOT NULL
  6. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  7.  



Chciałbym wyświetlić tylko i wyłącznie rekordy dodane 30 sekund temu... Jak to zrobić?

Kombinuję takim zapytaniem:
  1.  
  2. SELECT * FROM `message` WHERE TIMESTAMPDIFF(SECOND, datawysylki, now()) > 30;
  3.  


Ale zwraca i tak wszystkie rekordy sad.gif


Bardzo proszę o pomoc,
Trifek
Pyton_000
'>' -> '=' questionmark.gif
trifek
Przepraszam, chyba się źle wyraziłem. Chodzi mi o rekordy dodane do 30 sekund temu:)
nospor
yyy..... < 30 ?
phpion
1. Oblicz w PHP czas, jaki był 30 sekund temu (date + strtotime).
2. Podstaw go do warunku: WHERE datawysylki >= $czas

Dlaczego PHP? Bo korzystając z obliczeń czasowych na bazie uniemożliwiasz użycie indeksu, co przy większej ilości rekordów może być problemem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.