Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL i WHERE większe
Forum PHP.pl > Forum > Bazy danych > MySQL
przemekgaj2
Witam, jestem dosyć początkującym programistą, chcę napisać coś, co będzie wybierało artykuły wq. daty, przy dodawaniu artykułów do bazy konwertuje datę na liczbę, aby było łatwiej mi je porównywać, a później chcę aby nie pokazywał mi starszych niż (1228518000-2937600(czyli 34 dni)) próbuje napisać coś takiego:
WHERE (artykul_data2 >= '.$artdata.')
ale w WHERE nie działają chyba <> a tylko '=' prawda? I to jest włąśnie mój problem. Liczę na szybką pomoc.
Black-Berry
po pierwsze zapisuj datę tak:

  1. INSERT INTO tabela creation_datetime = now()


pole creation_datetime ustawiasz na DATETIME;

a wypisywanie starszych niz 34 dni to Ci jeszcze poszukam i wkleję bo nie mogę sobie przypomnieć smile.gif
erix
Cytat
WHERE (artykul_data2 >= '.$artdata.')

A manual gryzie? http://dev.mysql.com/doc/refman/5.0/en/fun...ummary-ref.html

Cytat
przy dodawaniu artykułów do bazy konwertuje datę na liczbę, aby było łatwiej mi je porównywać

Zapisuj jako TIMESTAMP. Format służący do daty jest wydajniejszy i masz dużo większe pole do popisu jeśli chodzi o manipulację w zapytaniach. Ale - oczywiście - http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html - dokumentacja gryzie i nie chce się nawet poczytać.
kefirek
Nie wiem czy o takie coś chodzi ale zobacz tak

  1. <?php
  2. $ileDni = 30 * 24 * 60 * 60;
  3. $odKiedy = time() - $ileDni;
  4. $wynik = mysql_query("SELECT * FROM test WHERE artykul_data2 >= ".$odKiedy ."")
  5. ?>
erix
A nie możesz po prostu sprawdzić, czy działa? tongue.gif

Jeśli masz zapisaną datę w formacie uniksowym, to powinno działać. Jeśli nie, to nie zadziała; od zamiany formatu timestamp na czas uniksowy jest odpowiednia funkcja; poczytaj tam, dokąd zalinkowałem.
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.