Autor Zpráva
george[06]
Profil *
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 *
Ještě chybka ve funkci DATE_FORMAT má být samozřejmě %Y místo %m.
Kcko
Profil
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 *
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.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0