| 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: 18 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0