Codeschnipsel - Zufallsbanner-Script
Sie haben sich bestimmt schon ihr eigenes "Zufallsbanner-Script" für Werbebanner, etc. auf Ihrer Homepage gebastelt.
Sie könnten vielleicht mit einer Array anfangen. Aber dort war es zu umständlich dort Online neue Banner hinzuzufügen,
somit sind Sie auf eine Datenbank umgestiegen. Die Struktur könnte wie folgt aussehen:
Datei: zufallsbanner.sql:
Code:CREATE TABLE `j7h_zufallsbanner` ( `ID` int(11) NOT NULL auto_increment, `BANNERPFAD` text NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM;
Natürlich fügen Sie fleißig nach und nach ein nach dem anderen Banner ein... Natürlich ist nach einer gewissen Zeit ein Banner
oder eine Seite nicht mehr Verfügbar. Sie löschen den Banner. Doch merken nach kurzer Zeit, dass wenn Sie nur den Zeilen der Tabelle
auslesen und davon eine Zufallszahl bilden manchmal kein Datensatz mehr ausgelesen wird. Da bestimmte IDs gelöscht wurden.
Um dem eine Ende zu setzen, habe ich dieses Tutorial aufgesetzt um zu zeigen wie einfach eine leichte altanative es ermöglicht
diesem Fehler aus dem wege zu gehen.
Es werden einfach alle IDs der Datenbank in eine Array gepackt:
Wir gehen von der Struktur der Datei zufallsbanner.sql aus und eine Verbindung zur Datenbank besteht ebenfalls:
Datei: ZufallsBanner.php:
Code:<?php function gibBannerPfad($id) { $result = @mysql_query("SELECT * FROM `j7h_zufallsbanner` WHERE `id` = '".$id."'"); if (@mysql_num_rows($result)) { $row = mysql_fetch_array($result); return $row['BANNERPFAD']; } else return false; } function gibZufallsBanner() { $j7h = array(); $result = @mysql_query("SELECT * FROM `j7h_zufallsbanner`"); if (@mysql_num_rows($result)) { while($row = mysql_fetch_array($result)) { $j7h[] = $row['ID']; } $insgesamt = count($j7h); $insgesamt = $insgesamt-1; srand(microtime()*1000000); $id = rand(0,$insgesamt); $zufallsbannerid = $j7h[$id]; return gibBannerPfad($zufallsbannerid); } else return false; } ?>
Wir haben nun die MySQL Datenbank ausglesen, alle Möglichen und Verfügbaren IDs in eine Array gepackt und dann eine Zufallszahl zur Array ausgelesen.
Die Nutung sieht wie folgt aus:
Datei: index.php:
Code:<?php // Die Funktionen includen include "Zufallsbanner.php"; // Die Ausgabe print '<img src="images/'.gibZufallsBanner().'" title="Zufallsbanner" />'; ?>
© Tutorial by j7h Jaron Heskamp