Script zum Wechseln von Produkten

son gohan

Erfahrenes Mitglied
Hallo,

ich brauche eine Lösung um einzelne Produkte in meiner Seite automatisch wechseln zu lassen.

Am besten wäre eine PHP Lösung. Ich habe zur zeit auch noch ein PHP Script von tutorials Mitglied con-f-use das jeden Tag einen automatischen neuen Tip ausgeben tut. Das sieht so aus:

HTML:
<?php
	   $tip[1] = 'Erster Tipp';
	   $tip[2] = 'Zweiter Tipp';
	   $tip[3] = 'Dritter Tipp';
	   
	   (...)
	   
	   $tip[365] = 'Dreihundertfünfundzsechzigster Tipp';
	   
	   echo $tip[date('z')];
?>

Ich habe mir überlegt ob es möglich ist mehrere von den Scripten jeweils als Produkt einzubauen, welches jeden Tag ein anderes Produkt anzeigt. Die Frage ist nur, ob es mit dem Script geht. Kann ich den einfach ein Stück HTML in den PHP Code so einbauen, wie z.B. hier:

HTML:
<?php
   $tip[1] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
   $tip[2] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
   $tip[3] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
   
   (...)
   
   $tip[365] = 'Dreihundertfünfundzsechzigster Tipp';
   
   echo $tip[date('z')];
?>

Meine Produkte sind nämlich auch so mit Div Container aufgebaut. Bevor ich mir die Mühe mache würde ich aber gerne kurz noch die Meinung von anderen dazu hören.

Kennt vielleicht auch noch jemand eine bessere Lösung um ein Produkt so automatisch auszutauchen?

Und kann man das Script auch etwas ändern, sodass es alle 12 Stunden oder bei jedem dritten Neuladen der Seite ein neues Produkt auswechselt?

Vielen Dank für jede Antwort.

gruß
feh
 
Hi feh,

Das mit dem Reload geht IMHO nicht, aber ich würde auch mit rand arbeiten. Dabei wird bei jedem Reload ein zufälliges Element ausgewählt

MFG
birnkammer
 
Hallo birnkammer,

danke für deine Hilfe. Was ist IMHO?

Was ist rand?

Ich habe mir überlegt das es am besten wäre, wenn sich die Artikel entweder nach 12 Stunden einmal wechseln oder erst nach dem 4 ten Reload. Kann man das mit PHP machen. Wie sieht das aus. Wo kann ich was lesen.

Vielen Dank.

gruß
feh
 
IMHO bedeutet in Deutsch "Meiner Meinung nach".
[phpf]rand[/phpf] ist eine PHP-Funktion zum Erzeugen von "Zufallfszahlen".

Mit [phpf]rand[/phpf] solltest du es aber gebacken kriegen.
 
Hallo,

ja dank dir. Dann will ich mal sehen was es mit dem rand so auf sich hat. Ich hoffe mich erwarten keine langen Laudazien und ich komme schnell zu einer Lösung.

gruß
feh
 
Hab dir mal was programiert:
Code:
 <?php
    $tip[1] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
    $tip[2] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
    $tip[3] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
 	 
    $tip[365] = 'Dreihundertfünfundzsechzigster Tipp';
    
    srand ((double)microtime()*1000000);
    echo $tip[rand("1", "365")];
 ?>
 
Hallo lieber birnkammer,

vielen Dank für das Script. Ich war bis jetzt noch nicht mal dazu gekommen etwas über rand zu lesen weil ich noch erst so viele andere Seiten fertigstellen muss.

Ich werde dein Script dann danach direkt austesten und mich gegebenenfalls wieder melden.

Also nochmal herzlichen Dank dir.

gruß
feh
 
Hey feh,

wenn Du wie weiter oben geschrieben alle 12 Stunden etwas neues ausgeben willst, wird das wohl nur mit einem serverseitigem cron job gehen. Warum? Weil PHP ja auf dem Server nur was macht, wenn ein script angefragt wird. Dem Server kann ich aber z.B. sagen, mache jeden Tag um 15:00 Uhr ein backup meines www Ordners ...

Ich denke aber das ist für so etwas nicht nötig. Das was birnkammer gemacht hat sollte ja voll reichen ...

Gruss

Andy
 
Hallo birnkammer,

ich habe heute dein Script ausprobiert und gleich Probleme bekommen, daher würde ich mich über erneute Hilfe freuen.

Also ich hab das Script so genommen, ausgefüllt und mitten an die Stellen gesetzt im Quellcode wo vorher der HTML Code für das Produkt stand. Wenn ich das ganze aber aufrufe im Brwoser über den Server, bekomme ich folgende Fehlermeldung:

Warning: rand() expects exactly 2 parameters, 3 given in /home/www/html/b.html on line 129

Notice: Undefined index: in /home/www/html/b.html on line 129

Das Script habe ich folgendermassen ausgefüllt:

PHP:
<?php
	$tip[1] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
	$tip[2] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
	$tip[3] = '<div id="text"> <a>Text</a></div><div id="text"> <a>Text</a></div>';
   
	
	srand ((double)microtime()*1000000);
	echo $tip[rand("1","2","3")];
 ?>

Fragen:
1. Was habe ich falsch gemacht?
2. Was bedeutet nochmal die Reihe
PHP:
srand ((double)microtime()*1000000);
im Script ?

gruß
 
Warum übergibst du im Skript der Funktion rand() 3 Parameter?
Sie ist ja so aufgebaut int rand ( [ int min [, int max]] ) (http://de.php.net/rand)
Das erklärt auch die Fehlermeldung, weild du 3 statt höchstens 2 Paramenter übergeben hast.

Zu deiner 2. Frage: http://de.php.net/srand:
-----
void srand ( int seed )

Legt einen internen Startwert für den Zufallsgenerator in rand() fest. Gleiche Startwerte führen auch jeweils zu derselben Pseudo-Zufallssequenzen daher ist es üblich, diese über die aktuelle Uhrzeit festzulegen
-----
 
Zurück