zufällige Auswahl 1 Datensatzes
Andreas
- datenbank
0 Andreas0 Captain Iglu0 Sascha Knappe0 Andreas
0 Andreas
Hallo,
habe eine Tabelle mit ca. 800 Datensätzen.
Bei 2 hab ich im Feld Banner ein Link eingetragen und das Feld isbanner 1 gesetzt.
Im Script dann folgender Code:
$request = mysql_query("Select banner From yb_members Where isbanner = 1 ORDER BY RAND() LIMIT 1") or database_error(__FILE__, __LINE__);
While ($curmem = mysql_fetch_array($request)){
$banner = $curmem['banner'];
echo '<br><small>Mitgliederbanner:</small><br>
<iframe src="'.$banner.'" width="468" height="60" frameborder="0" marginheight="0" marginwidth="0" scrolling="No"></iframe>
<br><br>';
}
Aber es wird immer nur 1 Banner angezeigt?
Was mache ich falsch?
Andreas
PS: nehme ich beim obersten Eintrag die 1 heraus, wird dann der andere Banner angezeigt.
Andreas
nimm mal das LIMIT 1 aus dem SQL raus
nimm mal das LIMIT 1 aus dem SQL raus
Na super, dann werden ja beide angezeigt.
Es soll aber 1 aus X ausgewählt werden wo isBanner = 1 ist.
Andreas
Hallo,
also wenn ich das "Where isbanner = 1" herausnehme wird ein Mitglied per Zufall richtig gewählt. Also was ist falsch?
Andreas
yo,
also wenn ich das "Where isbanner = 1" herausnehme wird ein Mitglied per Zufall richtig gewählt. Also was ist falsch?
kann es sein, dass du nur ein datensatz hast, welcher in der spalte isbanner den wert 1 besitzt ?
Ilja
nein, dem ist leider nicht so. Hab mittlerweile mehrere auf 1 gesetzt, es wird immer nur der oberste Eintrag geliefert.
Andreas
Hallo Andreas,
benutzt du eine MySQL-Version < 3.23.2 ?
Dann musst du einen Workaround benutzen.
Probiere mal bitte:
SELECT banner, banner*0+RAND() AS rand_num FROM yb_members WHERE isbanner = 1 ORDER BY rand_num LIMIT 1
Schönen Gruß aus München
die knappschaft
Hallo
benutzt du eine MySQL-Version < 3.23.2 ?
Nein, Version ist 3.23.52
SELECT banner, banner*0+RAND() AS rand_num FROM yb_members WHERE isbanner = 1 ORDER BY rand_num LIMIT 1
klappt leider auch nicht.
Was kann ich jetzt noch machen?
Andreas
Hallo,
also, ich hab das nun etwas anderst gelöst. Hier mein Code:
$request = mysql_query("Select banner From yb_members Where isbanner = 1");
$anzahl = mysql_numrows($request);
$i = Rand(0,$anzahl-1);
$banner = mysql_result($request,$i,"banner");
echo '<br><small>Mitgliederbanner:</small><br>
<iframe src="'.$banner.'" width="468" height="60" frameborder="0" marginheight="0" marginwidth="0" scrolling="No"></iframe>
<br><br>';
Gruß Andreas