Mehrdimensionales Session Array

WiZdooM

Erfahrenes Mitglied
Hallo

ich knabbere grade aufgrund meines beschränkten Wissens an folgende Nuß:

Es liegt aufgrund einer SQL-Abfrage ein Datensatz mit 360 Zeilen und etwa 120 Spalten vor. Diese möchte ich nun in einem Session Array hinterlegen, um nicht alle Daten einzeln aus der DB ziehen zu müssen.

Ich schaffe es jedoch nur die letzte Zeile in das Array zu schreiben, da ich nicht genau weiß ich alle Zeilen dort reinbekomme...

Ich habe jetzt mal etwas versucht, bekomme aber keinen richtigen output hin. Entweder "NULL" oder gar nix, wenn ich versuche mit $_SESSION['data'][1]['HDNr'] einen Wert aus dem Array zu ziehen.

Code:
$key = 0;
while($data = mysql_fetch_array($result)){
$_SESSION['data'] = array($key => $data)
key++
}

Was ich auch nicht weiß ist, wie ich in einem mehrdimensionalen array z.b. die "Zeilen" (Anzahl der $data) ermittle, um in einer forschleife die Anzahl Listenfelder generieren zu lassen...
EDIT: Teilproblem gelöst count($_SESSION['data']) - hab nur gedacht der zählt alle Elemente, weil ich nen Fehler in der for-Schleife hatte (Endlosschleife, und damit unendliche viele Listeneinträge)

Falls jemand einen Link zu einer bereits gelösten Frage gleicher Thematik oder einen Lösungshinweis hat, wäre ich dankbar.
 
Zuletzt bearbeitet:
Hi,

PHP:
while($data = mysql_fetch_array($result)){
   $_SESSION['data'][] = $data;
}
echo count($_SESSION['data']);

Und packe den Code bitte nächstes Mal für bessere Lesbarkeit in PHP-Tags und rücke vernünftig ein.

Was 360 Datensätze in der Session zu suchen haben sollen, erschließt sich mir allerdings nicht.

LG
 
Ich möchte nicht 1000x die datenbank anfragen wenn ich alle Händlerdaten brauche. Daher alles einmal geholt und von dort gefüttert.
 
Das beantwortet die Frage nicht. Was hat das in der Session zu suchen? Sessions sind dazu da, benutzerspezifische Daten, die beim nächsten Scriptaufruf noch verfügbar sein sollen, zu speichern.

Und wo brauchst Du ständig alle Händlerdaten, sprich: Du gibst auf den meisten Seiten sämtliche Händler aus, statt sie auf mehrere Seiten zu verteilen?

LG
 
Hallo

Erstmal möchte ich für meine kurze Antwort und meine Misachtung der Regeln bezüglich Code entschuldigen.

Ich gebe dir Recht - im Prinzip hat das nichts in Sessions zu suchen.

Ich habe mit dem Skript folgendes vor:
1 - Auswählen einer bestimmten Händlerzeile anhand eines Indexes über ein Dropdownfeld.
2 - Auslesen dieser Händlerzeile und schreiben von allen Daten dieser Zeile in eine RTF, möglicherweise automatisch für alle Zeilen der Tabelle/Abfrage.

Ziel war es also mir so eine Art DataSet (wie in ADO) zu konstruieren, aus dem ich mir einmalig alle Daten hole und diese dann einfach nur noch von dort, anstatt von der Webdatenbank auslese. Da war mein erster Gedanke: "Hey, mach doch eine Session, lege dort x Arrays ab und fertig."
Mein zweiter Gedanke ist nun : völliger Schwachsinn, das alles in eine Session zu werfen. Die Daten werden nur für dieses Skript gebraucht und niemand ausser mir wird diese Daten verwenden. Da reichen eigentlich auch lokale Variablen...
 
Zurück