Teil von  SELFPHP   Teil von  Praxisbuch
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

Bannerabfrage via MySQL




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 (13);

//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.



 



 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de