Nabend!
Ich grübel da nun schon zwei nächte drüber und kriegs einfach nicht hin.
Habe eine Mysql Tabelle mit nen paar (nur die wichtigen) Spalten bid und status.
Ich selektiere alle Einträge, wo status='1' ist.
Nun möchte ich gern aus diesen eine Zufallszeile (eintrag) ausgeben lassen. Das hatte ich folgendermaßen vor:
Hier zähle ich, wieviele Banner in der DB mit bstatus='1' vorhanden sind. Soweit klar!
Nun zum Problem:
Hier nimmt er aus den bids eine zufallszahl zwischen 1 und der banneranzahl.
Wenn nun aber bid 2 bstatus 0 hat, so sollte er diese ja gar nicht einbeziehen in die zufallsberechnung. Das tut er aber und gibt diese id dann mit aus!
Wie löse ich mein Problem am besten? Habe schon versucht mit MIN/MAX zuarbeiten, aber da gibt er mir als Wert immer nur Ressource id #4 aus, obwohl nur 3 Einträge vorhanden sind. Und mit Ressource id #4 kann ich ja nicht arbeiten!
Wäre dankbar, wenn mir jemand einen Schubs geben könnte!
Ich grübel da nun schon zwei nächte drüber und kriegs einfach nicht hin.
Habe eine Mysql Tabelle mit nen paar (nur die wichtigen) Spalten bid und status.
Ich selektiere alle Einträge, wo status='1' ist.
Nun möchte ich gern aus diesen eine Zufallszeile (eintrag) ausgeben lassen. Das hatte ich folgendermaßen vor:
PHP-Code:
// Banner ermitteln
$maxbanzahlermitteln = "SELECT bid FROM banner WHERE bstatus='1'";
$result1 = mysql_query($maxbanzahlermitteln) OR die(mysql_error());
$banzahl = mysql_num_rows(mysql_query($maxbanzahlermitteln));
Nun zum Problem:
PHP-Code:
//Zufallszahl (bid)
$bid = rand(1, $banzahl);
Wenn nun aber bid 2 bstatus 0 hat, so sollte er diese ja gar nicht einbeziehen in die zufallsberechnung. Das tut er aber und gibt diese id dann mit aus!
Wie löse ich mein Problem am besten? Habe schon versucht mit MIN/MAX zuarbeiten, aber da gibt er mir als Wert immer nur Ressource id #4 aus, obwohl nur 3 Einträge vorhanden sind. Und mit Ressource id #4 kann ich ja nicht arbeiten!
Wäre dankbar, wenn mir jemand einen Schubs geben könnte!
Kommentar