Willkommen in der Webstatt
User-1 am 23.05.06 19:19

Hallo,

ich habe für meinem Footer grade dieses script geproggt, das einen Banner von einem Partner anzeigt:

<?php
/* zeilen zählen */
$sql = "SELECT COUNT(id) FROM partner";
$result = mysql_query($sql);
$anzahl=mysql_fetch_row($result);
/* zeilen zählen ENDE */

/* zufalszahl erstellen von 1 bis "errehnete Zeilen" */
$zufall = rand(1,$anzahl['0']);
/* zufalszahl erstellen von 1 bis "errehnete Zeilen" ENDE */

/* Zufalls eintrag ausgeben */
$partner = mysql_query("SELECT * FROM partner WHERE id='$zufall'");
while ($row = mysql_fetch_object($partner)) {
?>
<a href="http://<? echo $row->link;?>" target="_blank" title="<? echo $row->name;?>"><img class="img" src="images/buttons/links/<? echo $row->bild;?>" alt="<? echo $row->name;?>"></a>&nbsp;<span class="Stil1">Klicks: <? echo $row->klick;?></span>
<?
}
/* Zufalls eintrag ausgeben ENDE */
?>


Das Problem ist nur das wenn eine ID gelöscht wird nichts angezeigt wird, wie kann ich überprüfen ob eine ID noch vorhanden ist, am besten mit if-else aber wie?

Mfg. BNS

netcup.de Warum gibt es hier Werbung?
User-2 am 23.05.06 19:25

1. SELECT *? Brachst du wirklich alle Spalten?
2. Kennst du ORDER BY RAND()?
3. xHTML :P

Ich will nicht deinen kompletten Pagecode sehen...

User-1 am 23.05.06 19:31

wieso?
Also, hier der ganze "Footer.php", ich arbeite noch an ihm also nicht wundern:

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="21" background="images/footer/back.gif"><a href="javascript:history.back()"><img src="images/footer/go_back.gif" width="79" height="11" border="0"></a>&nbsp;&nbsp;<a href="#top"><img src="images/footer/go_top.gif" width="58" height="11" border="0"></a>&nbsp;&nbsp;<a href="?action=feedback"><img src="images/footer/go_feedback.gif" width="142" height="11" border="0"></a>&nbsp;&nbsp;<a href="?action=impressum"><img src="images/footer/go_impressum.gif" width="79" height="11" border="0"></a></td>
</tr>
</table>
<?php
/* zeilen zählen */
$sql = "SELECT COUNT(id) FROM partner";
$result = mysql_query($sql);
$anzahl=mysql_fetch_row($result);
/* zeilen zählen ENDE */

/* zufalszahl erstellen von 1 bis "errehnete Zeilen" */
srand(microtime()*1000000);
$zufall = rand(1,$anzahl['0']);
/* zufalszahl erstellen von 1 bis "errehnete Zeilen" ENDE */

/* Zufalls eintrag ausgeben */
$partner = mysql_query("SELECT * FROM partner WHERE id='$zufall'");
while ($row = mysql_fetch_object($partner)) {
?>
<a href="http://<? echo $row->link;?>" target="_blank" title="<? echo $row->name;?>"><img class="img" src="images/buttons/links/<? echo $row->bild;?>" alt="<? echo $row->name;?>"></a>&nbsp;<span class="Stil1">Klicks: <? echo $row->klick;?></span>
<?
}
/* Zufalls eintrag ausgeben ENDE */
?>

User-3 am 23.05.06 20:07

Dir muss man auch alles vorkauen..
<?php
$res = mysql_query('select link from partner order by rand() limit 1') or die('mamiii...');
$homie = mysql_fetch_assoc($res);
print $homie['link'];
?>

User-1 am 24.05.06 13:33

Quote
Original von xyz-145
Dir muss man auch alles vorkauen..


DU hast nach dem Code gefragt ich habe ihn dir gegeben, also wo liegt jetzt dein Problem.
Aber trotzdem thx, hat geklappt!

User-3 am 24.05.06 13:40

Ich muss feststellen, dass xyz-72 !== xyz-145 und dass du auch einfach mal nach bspw. "order by rand()" suchen hättest können.

User-1 am 24.05.06 13:47

Hab ich auch:

http://de3.php.net/manual-lookup.php?pattern=order+by+rand%28%29&lang=de

Hab aber nicht's gefunden! Ich suche schon inder Doku, mehr als du denkst!

User-3 am 24.05.06 14:07

Quote
Original von xyz-27
Hab aber nicht's gefunden!

Du suchst ja auch nach MySQL Befehlen im PHP manual ;)
Warum nicht einfach mal Goole checken? Liefert doch beste Ergebnisse :)

Eine tolle MySQL Übersicht findest du übrigens hier: http://ffm.junetz.de/members/reeg/DSP/

User-1 am 24.05.06 14:20

thx, sowas hab ich gesucht, somit werden die Probleme von bestimmt weniger!

User-4 am 24.05.06 14:59

Quote
Original von xyz-145
Eine tolle MySQL Übersicht findest du übrigens hier: http://ffm.junetz.de/members/reeg/DSP/

Oder auch hier: http://dev.mysql.com/doc/refman/4.0/de/index.html (mein persönlicher Favorit in sachen MySQL)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt