PHP reload zwischen arrayausgaben ohne inhalt zu verlieren?

Superior1337

Ensign
Dabei seit
Sep. 2006
Beiträge
243
Hallo,

ich schilder mal eben mein Problem etwas abstrakt:

Angenommen, ich hab ein Array mit 100 Werten.

Nun habe ich eine for schleife mit einem echo, welches je nach Durchlauf auch den Wert des entsprechenden index des Array ausgibt. Sprich wenn $i meine Zählvariable ist, dann entsprechend echo array[$i] und das ganze, bis das array leer ist.

Soweit so gut, das ganze liefert dann in der Ausgabe 100 Zeilen mit allen Arraywerten.

Allerdings wäre es nun wünschenswert, wenn die Ausgabe folgendermaßen wäre:

Es soll jedes echo einzeln ausgegeben werden und danach ein reload des scripts stattfinden.
Also dass nur ein Wert zu sehen ist immer. Nach dem Reload soll dann aber entsprechend mit dem nächsten array-index fortgefahren werden. Idealerweise wäre dazwischen noch eine kurze Pause von 2 Sekunden um das echo lesen und sich merken zu können.

Also dass quasi alle Begriffe des arrays einzeln auf ner leeren Seite angezeigt werden und dazwischen jeweils 2 sekunden pause ist um die Begriffe zu lesen und sich zu merken.

Problem ist speziell, dass ich nicht weiß, wie der arrayinahlt und der aktuelle Stand der Zählvariable der for Schleife mitgenommen werden kann, um nach dem reload fortzufahren.

Hat jemand vorschläge? Javascript ginge ja vllt auch, aber da kenn ich mich nicht so gut aus.

Danke im Vorraus

lg
Superior
 

Hancock

Captain
Dabei seit
Nov. 2007
Beiträge
3.771
Entwerder du übergibst jeweils dem Refresh-Meta-Tag ein Index als Zählvariable
Code:
meta-refresh:url?index=$i
Pseudocode!
Oder du machst eine Session und zählst in der den Index hoch.

...oder du lädst alles auf einmal in eine große Tabelle, machst alle rows per CSS unsichtbar (display:none) und läufst dann mit Javascript durch um immer eine Row wieder anzuzeigen.
 

Superior1337

Ensign
Ersteller dieses Themas
Dabei seit
Sep. 2006
Beiträge
243
danke für deine antwort.

Bekomme mit dem meta-refesh die neue seite aufgerufen und den aktuellen index übermittelt. Allerdings nicht das Array als ganzes. Bei ner größeren Anzahl an Werten macht sich das auch denke nicht gut die alle einzeln per GET zu übergeben und in der Session wohl auch nich, oder?

Mein Gedanke ist gerade das gesamte Array in einer txt Datei als Zwischenablage zu speichern und dann anhand des übergebenen index ab der jeweiligen Zeile wieder auslesen.

Hat jemand sonst noch ne bessere idee?

Danke

lg
Superior
 

volcem

Lieutenant
Dabei seit
Dez. 2007
Beiträge
1.020
Kannst Dir doch das einfach ausgeben, wenn Du 2 ausgeben willst machst Du einfach array[2] (Array[$index])
Und dann einfach hochzählen per session vill.

$_SESSION["zaehle"]

$index = $_SESSION["zaehle"] +1;

Oder verstehe ich das vielleicht falsch?
 

Hancock

Captain
Dabei seit
Nov. 2007
Beiträge
3.771
@volcem
Genau das meine ich. Ich hoffe dem TE ist klar, was Server-Side-Scripting und Client-Side-Scripting ist.
Die Javascriptlösung ist Client-side, die Sessionlösung ist Server-side.
Wenn du dir um die Performance Gedanken machst, weil es zu viele Werte sind, dann mach es per Sessionmethode und einer Datenbank. Wenn es dir zu viele GET-Requests sind, dann mach es per Javascript, da sollten schon bis um die 1000 Datensätze noch performant sein.
 

Superior1337

Ensign
Ersteller dieses Themas
Dabei seit
Sep. 2006
Beiträge
243
danke euch, das mit der session war ne gute lösung, wusste nicht dass man da auch arrays als ganzes speichern kann. Wieder was gelernt. :)

lg
Superior
 
Top