Autor | Zpráva | ||
---|---|---|---|
george[06] Profil * |
#1 · Zasláno: 19. 5. 2008, 12:12:51
Prosím o radu. Nikdy se mi nic podobného nestalo, jde o nějakou naprostou banalitu, ale už si nevím rady. Mám následující kód pro výpis roků z datumů uložených v databázi. Datum je v databázi uloženo ve formátu 2008-05-19 a rok z tohoto řetězce vybírám pomocí funkce DATE_FORMAT. Chci zobrazit jen ty roky, které mají záznamy v databázi (bez duplicitních hodnot). SQL dotaz přímo v MySQL databázi funguje bez problémů. Na výstupu v kódu na stránce je správný počet unikátních záznamů, ale výpis záznamů je vždy o jeden menší. Naprosto nechápu proč?
<? include "../include/globals.inc.php"; include "../include/functions.inc.php"; $SelectRok=mysql_query("SELECT DISTINCT DATE_FORMAT(`DatumCerpani`,'%m') AS `Rok` FROM $tab_plan"); $VypisRok=mysql_fetch_array($SelectRok); $PocetRok=mysql_num_rows($SelectRok); echo $PocetRok."<br>"; while ($VypisRok=mysql_fetch_array($SelectRok)) { echo $VypisRok["Rok"]."\n"; } ?> |
||
george[06] Profil * |
#2 · Zasláno: 19. 5. 2008, 12:14:05
Ještě chybka ve funkci DATE_FORMAT má být samozřejmě %Y místo %m.
|
||
Kcko Profil |
#3 · Zasláno: 19. 5. 2008, 12:19:02 · Upravil/a: Kcko
Protoze uz si pouzil funkci mysql_Fetch_Array(); 1x pred tim nez ji pouzijes v cyklu. Tim dojde k nacteni prvni sady zaznamu.
Bud udelas dotaz 2x nebo nastavis resource zpet na 0 ... => php.net/mysql_data_seek |
||
george[06] Profil * |
#4 · Zasláno: 19. 5. 2008, 13:31:06
Díky moc, to je tak když to člověk prochází pořád dokola a nevšimne si blbosti :-) Každopádně mysql_data_seek taky vyzkouším.
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0