Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyciagniecie miesiaca z bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
wg
mam problem, chce z bazy z pola varchar(10) o nazwie "data" w ktorym trzymam daty wpisow w formacie RRRR-MM-DD wyciagnac poprzez zapytanie same wpisy z jednego miesiaca w danym roku.

robie w php archiwum i chce zastosowac w nim podzial miesieczny typu - kwiecien 2005, marzec 2005 itp.

probowalem wpakowac do zapytania funkcje php - substr tak ustawiona zeby zwracala same 2 znaki miesiaca, np. WHERE substr(blablabla) = '03'; ale to nie dziala.

moze mi ktos pomoc?

ps. wazne tez zeby mozna tez bylo wyciagnac listopad 2004, nie tylko 2005.

moze trzeba zmienic rodzaj pola w bazie na date(), jednak nie wiem wciaz co to da.
jedrus4
1. lepiej zmienic w bazie typ pola na date - w koncu do tego sluzy, a i pozniej latwiej na tym operowac
2. nie wiem co chcesz otrzymac w wyniku zapytania?
czy chcesz miec spis elementow tego archiwum pogrupowany wg kolejnych miesiecy, czy tylko spis dla konkretnego miesiaca?
czachor
Zajrzyj tu.
wg
mam wpisy oznaczane poprzez date, tworze do nich archiwum ktore bedzie miesieczne, co znaczy ze chce wyciagac z wpisow ktore maja np. 2005.04.09, 2005.04.01, 2005.03.29 - tak ze 2 wpisy sie pokaza z kwietnia 2005 i jeden z marca 2005.

czachor > czyli to czego szukam to mniej wiecej cos jak:

Cytat
SELECT * FROM tabela WHERE DATE_FORMAT(data, %m) = '05'


jesli chce z kolumny 'data' wyciagnac wpisy tylko i wylacznie z maja = '05'?

powyzsze zastosowanie nie zadzialalo.
ale rozgryzlem problem w inny sposob:

Cytat
mysql_query("SELECT * FROM tabela WHERE EXTRACT(YEAR_MONTH FROM `data`) = '200504' ORDER BY id DESC");


i tak uzyskuje same wpisy dla kwietnia 2005.
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-2024 Invision Power Services, Inc.