| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

02-01-2006, 11:58
|
|
pingzaong
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Schweiz
Beiträge: 85
|
|
Banner abwechslungsweise anzeigen lassen
Wie kann ich einen Banner auf meiner Seite anzeigen lassen, sodass bei jedem Reload ein anderer erscheint?
__________________
Hochachtungsvoll
pingzaong
|

02-01-2006, 12:12
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Ist nicht dein Ernst ?
Alle Banner in ein Verzeichnis. Verzeichnis mit glob() in Array auslesen. Array mittels shuffle() zufällig sortieren. Den ersten Banner zum Anzeigen auswählen.
Et voilà
Gruss
tobi
|

02-01-2006, 13:20
|
|
pingzaong
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Schweiz
Beiträge: 85
|
|
Lösung
ja, es war tatsächlich mein Ernst. Im Nachhinein ist es wirklich nicht schwer. Dankeschön!
Hier die Lösung  :
PHP-Code:
foreach(array(glob("verzeichnis/*")) as $banner) {
shuffle($banner);
echo "<img src=$banner[0]>";
}
__________________
Hochachtungsvoll
pingzaong
|

02-01-2006, 13:31
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
So macht der Code aber keinen Sinn....
PHP-Code:
foreach(array(glob("verzeichnis/*")) as $banner) {
//glob gibt dir schon ein Array zurück
//foreach brauchst du nicht, weil du nur das erste Element anzeigen willst
//shuffe() funzt nur mit Arrays, du versuchst es auf einen String anzuwenden
$temp = glob('verzeichnis/*.jpg'); // sonst kriegst du alles im Verzeichnis auch ne .htaccess
shuffe($temp);
//erstes Element anzeigen
echo $temp[0];
Wundert es dich nicht, dass trotz shuffle() immer das gleiche Bild angezeigt wird ??
Gruss
tobi
|

02-01-2006, 13:40
|
|
pingzaong
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Schweiz
Beiträge: 85
|
|
Du hast Recht, foreach braucht es wirklich nicht. Es geht auch ohne. Aber bei mir funktionierte es trotzdem.
Trotz shuffle zeigte es mir jedes Mal ein anderes Bild.
Warum einfach, wenn es auch kompliziert geht?
__________________
Hochachtungsvoll
pingzaong
|

02-01-2006, 13:48
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Jetzt habe ich deinen Code begriffen  Da glob() bereits ein Array zurückgibt und du dieses wiederum als Element eines übergeordneten Arrays einbaust ist $banner natürlich auch ein array und darum funzt shuffle() auch so.
Wenn du es aber so geschrieben hättest (und so habe ich es zuerst verstanden)
PHP-Code:
foreach(glob("verzeichnis/*") as $banner) {
//$banner ist nun ein String
dann hätte shuffle() einen Fehler werfen müssen.
Gruss
tobi
|

02-01-2006, 15:31
|
|
pingzaong
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Schweiz
Beiträge: 85
|
|
richtig verlinken?
nun das zweite Problem:
wie kann ich den Banner, der jeweils angezeigt wird, richtig verlinken?
Ohne dass ich eine DB benötige?
__________________
Hochachtungsvoll
pingzaong
|

02-01-2006, 15:54
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Leg dir ne txt Datei an:
Code:
name_des_bildes.jpg;pfad_zu_seite
...
PHP-Code:
$datei = 'deine_text.txt';
$cont = file($datei);
function url_retr($search){
foreach($cont as $wert){
if(strpos($search,$wert) !== false){
$temp = explode(';',$cont);
return $temp[1];
}
}
}
So in der Art würde ich das mal probieren.
Gruss
tobi
|

02-01-2006, 16:39
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
OffTopic: Was wäre, wenn du erstmal selbst über das Problem nachdenkst, ausprobierst, deine ansätze postest und sagst, wo es hapert? so wirds normalerweise hier gemacht. ansonsten kannst du auch gerne weiter jahlives für dich ackern lassen 
|

02-01-2006, 16:45
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
|
ansonsten kannst du auch gerne weiter jahlives für dich ackern lassen
|
OffTopic:
Heute haben so viele Börsen geschlossen und trotzdem müssen wir im Büro sein --> sehr wenig arbeit && viel Zeit für's Web
Gruss
tobi
|

03-01-2006, 08:15
|
|
pingzaong
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Schweiz
Beiträge: 85
|
|
@TobiaZ
Hmm, stimmt, du hast Recht. Eigentlich bin ich auch an etwas anderem am Programmieren. Dies machte ich nebenbei.
Ich schreibe dafür die Lösung hin, wenn ich sie habe!
__________________
Hochachtungsvoll
pingzaong
|

03-01-2006, 10:07
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
|
Ich schreibe dafür die Lösung hin, wenn ich sie habe!
|
Ich dachte, das macht jah für dich
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|