MySQL-Abfrage-Problem

hab1cht

Erfahrenes Mitglied
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:
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'];
}
 
Hallo,

ich gehe bei Fehlern immer so vor:

1. mySQL Syntax ausgeben und mit phpMyAdmin checken.
PHP:
echo $sql = "SELECT postid FROM $ptable";

2. Error reproting auf E_ALL stellen
PHP:
error_reproting ( E_ALL );

und hoffen ich finde den Fehler :)


Tobee
 
So habe das Problem jetzt gelöst, mit folgendem Code:
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 - 1);

$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'];
}
Danke an alle die mir geholfen haben.

MfG
 
Zurück