hallo Board,
habe mal wieder ein Problem mit einer MySQL Abfrage. Ich möchte aus einer tabelle mit Einträgen einen Zufallseintrag aussuchen. Dafür will ich alle ID's in einem Array speichern ($res) und die Anzahl der ID's in der Variable $anzahl. Dann lass ich mir eine Zufallszahl ausgeben (zwischen 0 und $anzahl), und diesen Eintrag möchte ich dann auslesen.
Einfach nur eine ZufallsID ausgeben geht nicht, da unter Umständen ein Eintrag gelöscht wird, und somit diese ID nicht mehr existiert. So und jetzt brauche ich euch, sieht irgendjemand einen Fehler, oder hat jemand einen Vorschlag, wie ich das ganze eleganter lösen kann?
Vielen Dank im Voraus.
Momentaner Fehler:
Hier mal mein Code-Anfang:
habe mal wieder ein Problem mit einer MySQL Abfrage. Ich möchte aus einer tabelle mit Einträgen einen Zufallseintrag aussuchen. Dafür will ich alle ID's in einem Array speichern ($res) und die Anzahl der ID's in der Variable $anzahl. Dann lass ich mir eine Zufallszahl ausgeben (zwischen 0 und $anzahl), und diesen Eintrag möchte ich dann auslesen.
Einfach nur eine ZufallsID ausgeben geht nicht, da unter Umständen ein Eintrag gelöscht wird, und somit diese ID nicht mehr existiert. So und jetzt brauche ich euch, sieht irgendjemand einen Fehler, oder hat jemand einen Vorschlag, wie ich das ganze eleganter lösen kann?
Vielen Dank im Voraus.
Momentaner Fehler:
Code:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
Hier mal mein Code-Anfang:
PHP:
$sql = "SELECT postid FROM $ptable";
$my = mysql_query($sql);
$anzahl = mysql_num_rows($my);
while ($result = mysql_fetch_array($my)){
$res[] = $result[postid];
}
$random = rand(0, $anzahl);
$sql = "SELECT * FROM $ptable WHERE postid = $res[$random]";
$my = mysql_query($sql);
while ($row = mysql_fetch_array($my)) {
$name = $row['name'];
$titel = $row['titel'];
$ort = $row['ort'];
$id = $row['postid'];
}