Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Wyświetlanie rekordów dodanych 30 sekund temu
trifek
post 28.10.2015, 12:40:23
Post #1





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 28.09.2015

Ostrzeżenie: (0%)
-----


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

Ten post edytował trifek 28.10.2015, 12:51:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pyton_000
post 28.10.2015, 12:58:00
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


'>' -> '=' questionmark.gif
Go to the top of the page
+Quote Post
trifek
post 28.10.2015, 12:59:25
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 28.09.2015

Ostrzeżenie: (0%)
-----


Przepraszam, chyba się źle wyraziłem. Chodzi mi o rekordy dodane do 30 sekund temu:)
Go to the top of the page
+Quote Post
nospor
post 28.10.2015, 13:05:33
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




yyy..... < 30 ?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
phpion
post 28.10.2015, 13:15:32
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 22:20