Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanie (porównanie dat)
Forum PHP.pl > Forum > Przedszkole
Poker
Witam,

Główkuję, czytam manuala, szukam gotowych rozwiązań i nie mogę sobie poradzić.

Problem polega na tym, że chciałbym zliczać wszystkie nowe rekordy w bazie użytkownika, które były dodane po konkretnej dacie.

To z czym mam problem to w SELECT zamienić datę z bazy od razu na TIME i niestety w Manualu TIME AND DATe nie mogę tego znaleźć, więc kombinuję na różne sposoby.

I próbuję coś takiego :



Kod
$mytime=strtotime('2011-03-15 15:32:71');
mysql_query("SELECT date FROM message WHERE $mytime < DATE_ADD(date, INTERVAL 1 SECOND) AND myid='$id'");



Niestety wyciąga mi to wszystkie rekordy dla danego użytkownika a to nie o to chodzi.
Chcę wyciągnąć wszystko dodane po dacie $mytime.

Możecie mnie nakierować jakoś? Czy da się zrobić coś w stylu:

Kod
$mytime=strtotime('2011-03-15 15:32:71');
mysql_query("SELECT date FROM message WHERE $mytime < strtotime(date) AND myid='$id'");
potreb
To usuń AND myid='$id'
Poker
A jak wyciągnę wszystkie wiadomości należące do danego użytkownika?
potreb
"Niestety wyciąga mi to wszystkie rekordy dla danego użytkownika a to nie o to chodzi. "

To chcesz wyciągać dla jednego użytkownika czy dla wszystkich?

Zamiast strtotime w zapytaniu sql użyj UNIX_TIMESTAMP()
  1. mysql_query("SELECT date FROM message WHERE $mytime < UNIX_TIMESTAMP(date) AND myid='".$id."'");

A tu masz cały szereg informacji o zastosowaniu czasu - http://dev.mysql.com/doc/refman/5.5/en/dat...-functions.html
Poker
Wyciąga mi wszystkie rekordy dla danego użytkownia, nie biorąc pod uwagę w ogóle czasu tutaj.


To zapytanie ma na calu wyświetlanie ilości nowych wiadomości, które zostały dodane PO ostatniej wizycie w skrzynce odbiorczej.

Takie coś jak na facebooku, nk. Gdzie wyświetla się ilość powiadomień.

Robię takie powiadomienia jak tutaj w lewym górnym rogu.



A w tabeli użytkownika zapisuję kiedy ostatnio odczytał powiadomienia o nowych komentarzach zdjęć, nowych wiadomościach, itp.

I chciałbym wyciągnąć to co zostało dodane po ostatnim przeglądaniu nowych komentarzy.

Cytat(potreb @ 2.04.2011, 14:55:37 ) *
"Niestety wyciąga mi to wszystkie rekordy dla danego użytkownika a to nie o to chodzi. "

To chcesz wyciągać dla jednego użytkownika czy dla wszystkich?

Zamiast strtotime w zapytaniu sql użyj UNIX_TIMESTAMP()
  1. mysql_query("SELECT date FROM message WHERE $mytime < UNIX_TIMESTAMP(date) AND myid='".$id."'");

A tu masz cały szereg informacji o zastosowaniu czasu - http://dev.mysql.com/doc/refman/5.5/en/dat...-functions.html




Dałem nawet w pierwszym poście link tego samego. Przeglądnąłem to chyba z 10 razy i aż głupio się przyznać że tego nie zauważyłe, ale właśnie o to mi chodziło.

Więc wielkie dzięki za pomoc, przez swoją nieuwagę straciłem 2 godzinki pracy.
Jeszcze raz dzięki : )
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.