Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Porównanie dat w formacie datetime
Forum PHP.pl > Forum > Przedszkole
gladiror
Witam!
Mamm tabelę w bazie danych z polem datatime, która przechowuje czas usunięcia użytkownika. Chciałbym napisać skrypt, który sprawdzi czy dzisiajesz data i godzina jest > od tej w bazie danych. Jak porównuje to w zapytaniu select:

  1. $dzisiaj = date("Y-m-d H:i:s");
  2. $zapytanie = "Select * FROM users WHERE data_usuniecia < $dzisiaj;


Niestety wyrzuca mi błąd ;/ Moje pytanie jest takie - w jaki sposób to porównać?
blooregard
$zapytanie = "Select * FROM users WHERE 'data_usuniecia' < '".$dzisiaj."' ";

Zwróć uwagę na ' i ""
MWL
powinieneś sprawdzić czy dzisiaj jest poprawną datą.
Poza tym podeślij jak sformatowąłeś kod php
gladiror
Niesteety dalej jest to samo :/
MWL
jak mówiłem podeślij kod php bo ci nikt bez tego nei moze pomóc, nawet jak chce tongue.gif czyli ja biggrin.gif
nospor
  1. <?php
  2. $dzisiaj = date("Y-m-d H:i:s");
  3. $zapytanie = "Select * FROM users WHERE data_usuniecia < '$dzisiaj'";
  4. mysql_query($zapytanie) or die('Pokaz nam ten blad!!!'.mysql_error());
  5. ?>
MWL
nospor, to ma być chyba tylko z dzisiaj, wiec godizna sie nei przyda. A oze by użyć operatora LIKE
nospor
Cytat
wiec godizna sie nei przyda.
nie do tego zmierzalem. podalem mu kod na wylapanie bledu i niech sie nim z nami podzieli a nie
"Wywala blad".... tyle czasu na forum jest i jeszcze takie teksty wali
MWL
wiesz, są ludzie i człowieczaki...
nospor
Cytat
A oze by użyć operatora LIKE
Czemu? Przeciez to są daty i jest masa funkcji do operacji na datach.
MWL
można, ale moża to też zrobic w taki sposób. Jelśli nei chce sie podzielić kodem to niech kombinuje... winksmiley.jpg
blooregard
Przeklej to, co napisałem ci w pierwszej odpowiedzi:

$zapytanie = "Select * FROM users WHERE 'data_usuniecia' < '".$dzisiaj."' ";

Nadal masz błąd ?
klysio
A może chodziło o coś takiego

http://webmade.org/porady/obliczanie-czasu...-datami-php.php

http://php.net.pl/manual/pl/function.strtotime.php

Wystarczy tylko zmienić kod na własne potrzeby smile.gif
gladiror
Błąd wygląda następująco:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Nie wklejałem go od razu z tego względu, że na nic konkretnego nie widać w nim poza tym, że zapytanie jest źle ułożone...

Zapytanie:

  1. <?php
  2. $zapytanie2 = "SELECT id_artykuly,tytul FROM artykuly WHERE wyroznione='M' and widoczny='T' and id_kategoria=$id_kategoria and ('do_kiedy' > '".$dzisiaj."' or do_kiedy='0000-00-00 00:00:00)'";
  3. echo $zapytanie2;
  4. ?>


A tak po wyświetleniu przez echo

  1. <?php
  2. SELECT id_artykuly,tytul FROM artykuly WHERE wyroznione='M' and widoczny='T' and id_kategoria=1 and ('do_kiedy' > '2008-10-01 17:05:57' or do_kiedy='0000-00-00 00:00:00)'
  3. ?>
melkorm
  1. "SELECT id_artykuly,tytul FROM artykuly WHERE wyroznione='M' and widoczny='T' and id_kategoria=$id_kategoria and ('do_kiedy' > '$dzisiaj' or do_kiedy='0000-00-00 00:00:00') "


masz średnik za nawiasem zamaist przed winksmiley.jpg to wyżej poprawione ;p
gladiror
heh, jak zwykle coś banalnego smile.gif Dzięki smile.gif
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.