Autor Zpráva
bezradný
Profil *
Zdravim,

na stranke mam vypis z databazy - nahodný citat. No a dost casto asi 1/4 mi namiesto citatu vypise CHYBU. Jednoducho databaza vypise citat kedy sa jej zachce... V com by mohol byt problem?

Pridavam aj kod:

<?php

require "inc/db.php";

$pocet_citatov = mysql_result(mysql_query( "SELECT COUNT(`id`) FROM citaty"),0) or Die (mysql_error());

$nahodny_citat = rand (0, $pocet_citatov - 1) or Die ('CHYBA'); //problemový riadok

$vysledok = mysql_query("SELECT `citat` FROM citaty WHERE `id` = '$nahodny_citat' ");

while ($zaznam = mysql_fetch_array($vysledok) ){
   echo $zaznam["citat"];
}
?>
Falcon
Profil *
Napsal bych to takto :

<?php

require "inc/db.php";

$vysledok = mysql_query("SELECT `citat` FROM citaty order by rand());

while ($zaznam = mysql_fetch_array($vysledok) ){
echo $zaznam["citat"];
}
?>

mysql má svojí funkci na náhodný výpis
Falcon
Profil *
Vlastně jsem ještě zapoměl na limit..

order by rand() limit 1
tiso
Profil
<?php
$result=mysql_result(mysql_query("SELECT `citat` FROM `citaty`ORDER BY RAND() LIMIT 1"), 0);
echo $result[0];
?>
Dranel
Profil
tiso
Vysvětlíš nám, prosím, rozdíl mezi tvým kódem a kódem Falcona?
Mike8748
Profil
bezradný

$nahodny_citat = rand (0, $pocet_citatov - 1) or Die ('CHYBA'); //problemový riadok


muzes mi vysvetlit co cekas ze ten radek bude delat, co si tim myslel? konkretne to s tim die
malek
Profil
list($citat)=mysql_result(mysql_query("SELECT `citat` FROM `citaty`ORDER BY RAND() LIMIT 1"), 0);
echo $citat


aj tak sa da :D

ale ten falcov ak chces pouzit tak takto
$vysledok = mysql_query("SELECT `citat` FROM citaty order by rand() LIMIT 1");

$zaznam = mysql_fetch_array($vysledok) );
echo $zaznam["citat"]; 


while pri jednom riadku je zbytocny
tiso
Profil
Dranel - keď som to písal tak tam kód od Falcona ešte nebol... Ešte nejaké otázky?
bezradný
Profil *
$nahodny_citat = rand (0, $pocet_citatov - 1) or Die ('CHYBA'); //problemový riadok


muzes mi vysvetlit co cekas ze ten radek bude delat, co si tim myslel? konkretne to s tim die


nahodny vyber zlyhal...myslel som tym...ale asi prave tym to bolo zapricinene ze mi niekedy script pokracoval a niekedy nie

Nakoniec som pouzil malekov kod,aj ked tam ma este mensiu chybicku-navyse zatvorku ")"

Dakujem vsetkym.
Toto téma je uzamčeno. Odpověď nelze zaslat.