Wie erstelle ich so einen Banner?

PHPer

Erfahrenes Mitglied
Hey Leute!

Ich kenne mich leider garnicht mit Flash aus da ich es eigentlich bisher auch garnicht gebaucht habe was sich soeben geändert hat. :-)
Das Ziel meines vorhabens ist es einen Dynamischen Banner mit Hilfe von PHP & MySQL zu erstellen. Dabei soll das PHP Script Links aus der DB auslesen und an den Flashbanner übergeben, die es dann anzeigen soll..

Meinetwegen hab ich jetzt folgende MySQL DB:

Name Link Active
Seite 1 http://www.meinedomain.de/seite1.html yes
Seite 2 http://www.meinedomain.de/seite2.html yes
Seite 3 http://www.meinedomain.de/seite3.html yes
Seite 4 http://www.meinedomain.de/seite4.html yes
Seite 5 http://www.meinedomain.de/seite5.html yes
Index http://www.meinedomain.de/index.html yes

Dann würde ich die Daten halt mit ner PHP Datei abrufen. Ideal wäre natürlich das ganze Zufällig ablaufen zu lassen. Dann würde das PHP Script ja so aussehen:

PHP:
$data = mysql_query("SELECT * FROM bannerlinks WHERE ACTIVE = 'yes' ORDER BY RAND LIMIT 1"); // Hier wählt das Script dann halt nen Link aus.
while($line = mysql_fetch_array($data)) {
//hier wird dann halt die Übergabe an Flash stattfinden...
}

Der Flashbanner soll bei jedem Anlauf die PHP Datei aufrufen (hoffe mal nicht dass das allzuviel Traffic kostet, glaube es aber kaum :-)) und halt den Link den das PHP Script angezeigt hat ein und wieder ausblenden.

Die Frage ist hatl jetzt wie übergebe ich das MySQL ergebniss an den Flash Banner bzw. was muss ich bei Flash machen damit der Flashbanner es annimmt und halt wie besprochen Anzeigt?
Wie gesacht bin ein kompletter Newbie und habe auch nicht wirklich so die zeit mich intensiv mit Flash auseinanderzusetzen da ich den Banner so schnell wie möglich brauch.

Hoffe Ihr könnt mir da weiterhelfen. Danke Euch schonmal!
 
Uhm, warum so kompliziert?
Mach doch einfach 5 Flash-Dateien mit deinen Bannern drin.
Dann hast du eine index.php und lässt halt als Platzhalter für den Banner dynamisch ne ZufallsUrl bestimmen.
Damit kommst du genauso an dein Ziel, meiner Meinung nach aber mit weniger Aufwand und Fehlerquellen.

MfG
Killkrog
 
Weis ja jetzt nicht ob ich Dich richtig verstanden hab, aber der Banner soll nicht in meine sondern in fremde Seiten eingebunden werden. Und ob jeder jetzt einen Platzhalter anlegt?:-)
Die Idee war halt von mir mit dem Hintergedanken dass Flash als Loopschleife läuft und bei jedem Mal die PHP Datei neu aufgerufen wird wodurch jedesmal ein anderer Link aus der MySQL DB gefischt wird.
Dann hätte ich einfach nur dieses Script wie oben gebraucht und hätte die Variable an PHP übergegeben.
Das Ding ist ich will diesen Banner vom Admin Menü aus steuern können. D.h. dass ich neue Links hinzufügen kann die der Banner anzeigt, aber auch De/Aktivieren oder wieder löschen kann. Könnte in die PHP ja auch ne gewichtige Abfrage einbauen.
Das wäre halt am einfachsten denke ich, und ich müsste auch nicht für jeden Link nen eigenen Banner anlegen.
Das Ding ist halt dass ich die Übergabe der Variable an Flash nicht hinbekomm.:(
 
//edit
Sieht nach viel aus, ist es aber net :)


Okidoki, hab ich das nu auch kapiert ^^
Hmm, eigentlich ganz einfach.
Als erstes musst du wissen, wie es auszusehen hat, wenn man in Flash Sachen einlesen will. Ein Beispiel hier:

variable1=wert1&variable2=wert2&variable3=wert3 ...

Du hast also immer eine Variable mit Wertzuweisung und, wenn eine neue Varaible deklariert werden soll, noch ein '&'-Zeichen.

Du musst es nun mit PHP einfach so deixeln, dass er, würde man die Datei im Browser aufrufen, zum Beispiel mit echo folgendes zurückgibt:

url1=www.url1.de&url2=www.url2.de&url3=www.url3.de

Wenn du dann diese PHP-Datei einliest hast du die entsprechenden Varaiblen. Blos für dein Beispiel ist das gerade totaler Mist ^^
Wir müssen das ein klein wenig abändern.
Wir wollen nur eine einzige Varible, wo alle Urls drinnen stehen. Was dabei wichtig ist, dass wir die URLs durch ein Zeichen oder eine Zeichenfolge trennen, die äusserst auffällig ist und auf keinen Fall sonst irgendwo in der Datei vorkommt. Ein Beispiel wäre zum Bleistift soetwas:

<|>..<|>

urls=www.url1.de<|>..<|>http://www.url2.de<|>..<|>http://www.url3.de

Warum machen wir das so? Nun, wir wollen ja wissen, wie viele URLs wir eigentlich zur Verfügung haben. Das geht am leichtesten, wenn die ganzen Werte in einem Array stehen. Und genau deswegen haben wir bloß eine Varaible mit allen Werten. Die können wir nämlich später ganz bequem splittern und in ein Array packen lassen, ohne uns groß anstrengen zu müssen.
Nun lesen wir aber erstmal die Datei ein:

PHP:
lv1 = new LoadVars ();
lv1.onLoad = function () {
	// Aktionen wenn fertig geladen
};
lv1.load ("die_php_datei.php");

So, damit haben wir schonmal die Varaible 'urls' in dem lv1-Objekt. Jetzt wollen wir mal ein wenig benutzterfreundlicher herrichten. Als erstes zerpfrimeln wir den Wert in lauter einzelne URLs, wie oben schon angekündigt.

PHP:
lv1 = new LoadVars ();
lv1.onLoad = function () {
	_root.url_array = this.urls.split("<|>..<|>");
};
lv1.load ("vars.txt");

Hier splittern wir die Variable 'urls' und fügen die neuen Teile in ein Array mit Namen url_array, welches sich auf der Hauptzeitleiste befindet.
Schön, nun haben wir also alle URLs in einem Array einheitlich verpackt.
Nun wollen wir ja aber die ganzen URLs zufällig aufrufen lassen.
Heisst, wir müssen erstmal herausfinden, wie viele URLs wir eigentlich haben.

PHP:
lv1 = new LoadVars ();
lv1.onLoad = function () {
	_root.url_array = this.urls.split("<|>..<|>");
	_root.n_url = _root.url_array.length;
};
lv1.load ("vars.txt");

Die eigentschaft length eines Array bezeichnet die Länge/die Anzahl der Einträge eben jenes Arrays. In diesem Beispiel wäre es der numerische Wert 3.
So, nu wollen wir also einen Zufallswert haben... Auch nicht schwer.

PHP:
lv1 = new LoadVars ();
lv1.onLoad = function () {
	_root.url_array = this.urls.split("<|>..<|>");
	_root.n_url = _root.url_array.length;
	_root.link_url = _root.url_array[random(_root.n_url)];
};
lv1.load ("vars.txt");

Hier deklariern wir wieder eine neue Varaible mit Namen link_url, die wieder auf der Hauptzeitleiste steht. Diese Variable soll den letzendlich Link enthalten.
das random(_root.n_url) würde eine Zahl zwischen 0-2 ausspucken, weil _root.n_url '3' ist und bei 0 schon angefangen wird zu zählen.
Bedeutet, die Varaible link_url bekommt den Wert des Arrays _root.url_array an einer zufälligen Stelle 0-2, deckt also alle URLs ab, die es überhautp gibt.

Ich hoffe, das hilft dir einigermaßen, und ich hoffe auch, dass ich net schon wieder was falsch verstanden habe ^^

MfG
Killkrog
 
Zuletzt bearbeitet:
Nene, diesmal hast Du mich richtig verstanden. Das Script sieht auch schonmal gut aus, nur leider es bei mir nicht. :(
Wie das mit dem Splitten geht ist klar, ich erstell mit PHP ein Array und hau immer dieses <|>..<|> rein. Dann kommt hinterher:
PHP:
echo "&urls=$array"; //wobei $array jetzt halt für das Array ausgivt! :)
In Flash habe ich jetzt dein Script übernommen und die php Datei angepasst. Anschließend habe ich ein Textfeld erstellt und dem die Variable "urls" verpasst.

Allerdings sehe ich weder was wenn ich den Film teste noch wenn ich die Datei veröffentliche und dann übern Server aufrufe.:rolleyes:

Wo steckt denn da jetzt der Fehler drin?
 
Dein Fehler liegt daran, dass du keine Variable mit Namen urls hast...
Sie heisst root.link_url ...
Lies doch wenigstens meinen Post genau durch, wenn ich mir eh schon die Mühe mache und so ausführlich dokumentiere...
 
Zurück