Ik heb het volgende gedaan om random wat uit de database te halen, maar hij doet het nu. Hij haalt wel maar een ding uit de database, maar niet willekeurig, elke keer dezelfde.

<? //Gegevens uit database halen
$db = mysql_connect("", "", "" );
mysql_select_db("niek",$db);

$willekeurig = rand(1,10);

$sql = "SELECT * FROM ditalgezien ORDER BY id='".$willekeurig."' DESC LIMIT 1";
$result = mysql_query($sql);

.......
?>


link: http://www.niekweevers.nl
en dan rechtsbovenin. (kijk ook hier eens, rubriek)
Oh nee, hij doet het wel. Maar ik heb nu nog maar 2 items in de database gezet, maar hij laat er eentje veel vaker zien dan de andere, of zal dat puur toeval zijn. Maar hij doet het dus wel.
Toeval zijn. En met 2 items zou ik niet rand(1,10), maar rand(1,2) doen ;). Of eerst count gebruiken, om te kijken hoeveel bestanden erin staan.
Hoe kun je die functie gebruiken dan.
Eerst laten tellen hoeveel bestanden erin staan en dan
$willekeurig = rand (1,$count) ?

Maar hoe doe je de count?
Wanneer je de query echoot, dan krijg je bv. dit stukje SQL:
ORDER BY id=3
Dat is niet goed, dit is geen SQL. Bij ORDER BY geef je de kolomnaam en de richting op (ASC of DESC) of een RAND().

Het moet dus zijn: ORDER BY RAND()
Ja ik zie het. Heb het veranderd en doet het goed

Reageren