MySQL / PHP: Datensätze zufällig ausgeben

Hallo,

ich mache gerade einen Mathetrainer für meinen kleinen Bruder und dazu habe ich ein PHP-Script geschrieben, dass die Aufgaben und Ergebnisse aus eine Datenbank holt und diese dann mit dem Eingebenen vergleicht und schließlich, sollte die Eingabe korrekt sein, ein entsprechendes Lob ausgibt und im Feld „done“ eine 1 setzt, damit diese Aufgabe nicht mehr gestellt wird.

Datenbankstruktur: id | katname | schwer | aufgabe | ergebnis | done

katname → kathogorie
schwer → schwierigkeit

Jetzt will ich das er nach der Kathogorie, die man dann anwählt, eine zufällige Aufgabe bekommt und wenn man sie richtig löst wird unter „done“ eine 1 gesetzt.
Eine Beispiel:

Datenbank (Bsp):
1 | kopfrechnen | leicht | 1 + 1 | 2 |
2 | umrechnung | leicht | 100g in kg | 10 |
3 | kopfrechnen | mittel | 12 + 23 | 35 |
4 | kopfrechnen | leicht | 3 + 5 | 8 | 1
5 | kopfrechnen | leicht | 9 + 4 | 13 |

Jetzt soll er eben eine zufällige Aufgabe in der Kathegorie „kopfrechnen“ mit der Schwierigkeitsstufe „leicht“ ohne „done“ gleich 1 auswählen.

Wie kann ich das am besten Lösen.

Ich habe es jetzt so gemacht, aber er gibt mir dann die Fehlermeldung (Warning: rand() expects exactly 2 parameters, 1 given in /users/rechnen24/www/Test.php on line 15)

[B][PHP] //Zeile 12
$result = mysql_query(„SELECT id FROM aufgaben where katname=‚$_POST[katname]‘“);
$anzahl=mysql_num_rows($result);

$zufallswert = rand($anzahl);

$abfrage = "SELECT * FROM aufgaben WHERE katname = '$_POST[katname]' LIMIT $zufallswert,1"; [/PHP][/B]

Wäre es eigentlich zuviel verlangt, einfach mal in der Doku nachzusehen? Siehe http://www.php.net/manual/de/function.rand.php

Und wenn du per Zufallsgenerator einen Datensatz aus der DB lesen willst, würde ich eher schreiben:

Select … order by rand() limit 1