Autor Zpráva
Lukyn02
Profil *
Dobrý den,

doposud jsem vypisoval novinky z databáze stylem
$celkovypocet1=mysql_query("select count(*) from news"); 
$celkovypocet=mysql_result($celkovypocet1, 0);
for($i=$celkovypocet;$i>0;$i--)
Jenže pokud použiji tento typ výpisu a vymažu jeden údaj z databáze, tak se script začne chovat nestandardně. Řekněme že mám v tabulce zápisy s id 1, 2, 3, 4, teď vymažu záznam 2 a najednou mi výpis místo 4 novinek vypíše jen 2, protože $celkovypocet bude 3 a trojka nebude existovat.
Někde jsem kdysi viděl účinnější script, který tento problém obcházel. Mám takový pocit, že se v něm pracovalo s funkcí mysql_fetch_row a mysql_fetch_field. Chtěl bych se zeptat, zda někdo z vás zkrátka neví, jak udělat script na výpis novinek, jenž by fungoval stále standardně i při vymazání nějakého řádku.

Díky.
martin1312
Profil
$novinka = mysql_query("SELECT * FROM news ORDER BY datum DESC LIMIT 3");

while( row = mysql_fetch_array($novinka) )
{
      echo 'Nadpis'. row['nadpis']; //nadpis novinky,..dalsi vypis...
}

toto ti vypise najnovsie 3 novinky zoradene podla datumu. Ak chces vypisat vsetky, tak vymaz z sql dotazu LIMIT 3
David Klouček
Profil
$novinka = mysql_query("SELECT * FROM news ORDER BY datum DESC LIMIT 3");
 
while($row = mysql_fetch_array($novinka) )
{
      echo 'Nadpis'.$row['nadpis']; //nadpis novinky,..dalsi vypis...
}
martin1312
Profil
David Klouček:
dik za opravu, to je tak ked miesam c++ a php :D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: