| |
| * Link führt ins Internet |
|
| |
Ein verhasstes aber dennoch äusserst wichtiges Thema stellt die Bannerabfrage bzw. Rotation dar. Im folgenden Beispiel soll zusätzlich die Gewichtung einzelner Banner berücksichtigt werden. Schliesslich ist es sinnvoll die Banner darzustellen, die einen wesentlich grösseren Zuspruch bei der Zielgruppe erreicht als andere.
Auch bei dieser Umsetzungen führen zwei Skripte zum Erfolg:
. config.inc.php - in diesem Skript befinden sich die wesentlichen Zugriffsdaten und der Verbindungsaufbau zur MySQL Datenbank. Diese Datei haben Sie bereits im Abschnitt Useronline via MySQL kennen gelernt.
. banner.php - in diesem Skript befinden sich die benötigten MySQL-Zugriffe, und der benötigte Zufallszahlengenerator zur Darstellung der Banner. Die Verbindung zur MySQL-Datenbank wird auch in diesem Fall, durch die config.inc.php sichergestellt.
Zusätzlich wurde folgender Ordner angelegt:
. bilder - dieser enthält die Grafik Dateien, welche die jeweiligen Banner enthalten.
Sie benötigen zum Betreiben der Bannerabfrage folgende MySQL-Datenbanktabelle:
CREATE TABLE banner (
id int(10) unsigned NOT NULL auto_increment,
bannertags varchar(200) NOT NULL default '',
bannerurl varchar(200) NOT NULL default '',
gewicht tinyint(3) unsigned NOT NULL default '0',
name varchar(40) NOT NULL default '',
PRIMARY KEY (id),
KEY gewicht (gewicht)
)
|
Und folgende Datensätze um die Bannerabfrage im Einsatz zu sehen:
INSERT INTO banner VALUES (1, 'bilder/linkplogo.gif', 'www.selfas.de', 1, 'Banner1');
INSERT INTO banner VALUES (2, 'bilder/gbuchlogo.gif', 'www.atomicscript.de', 2, 'Banner2');
INSERT INTO banner VALUES (3, 'bilder/webbloglogo.gif', 'www.flashstar.de', 3, 'Banner3');
INSERT INTO banner VALUES (4, 'bilder/callpizzalogo.gif', 'www.actionscript-praxis.de', 1, 'Banner4');
|
Banner.php
<?
//Verbindung zur Datenbank herstellen
require("config.inc.php");
//Gewichtung festlegen
$zufall = rand (1, 3);
//Mögliche Banner auslesen. Dieses sind in
//der Regel mehrere!!
$satz = "SELECT * FROM banner WHERE gewicht <= '$zufall' ";
$sqlbanner = mysql_query($satz) or die ($db_fehler2);
$anzahlbanner = mysql_num_rows($sqlbanner);
//Aus der so eben erzeugten Liste genau eine
//zufällige BannerID bestimmen
if($anzahlbanner == 1) {
$show_bannerid = 0;
} else {
$show_bannerid = rand(0,$anzahlbanner-1);
}
//Bannertag aus der Datenbank ausgeben
mysql_data_seek($sqlbanner,$show_bannerid);
$banner = mysql_fetch_array($sqlbanner);
//Ausgabe des Banners
echo "
<a href='$banner[bannerurl]' target='_blank'>
<img src='$banner[bannertags]' alt='$banner[name]-$banner[id]' border='0'>
</a>";
?>
|
Mit Hilfe der Tabellenspalte gewicht und der ermittelten Zufallszahl $zufall wird die Gewichtung der einzelnen Banner festgelegt. Die Werte reichen von 1 bis 3, wobei der Wert 1 die höchste und 3 die geringste Priorität symbolisiert.
| Hinweis: Dies stellt eine anfache Form der Gewichtung dar, welche sich nicht nur für Bannerabfragen eignet. |
|
|
|
|
|
|
|