PHP Formular

Könnt ich eigentlich ein Mehrdimensionales Array erstellen?

und wenn ich dann auf die edit funktion zugreif das er mir nur das Array mitgebt was ich brauch?
Ist sowas realisierbar?

Sonst bin ich ja eh bei meiner Funktion schneller, das einmal ins Array laden bei der View dann die id aus dem Array bei dem Datensatz auslesen , und eine neue MYSQL Abfrage starten... so wie ich das eigentlich immer mach...

Also gibt es nicht wirklich eine Möglichkeit ich sag ->

Alle Daten -> SESSION ALL
Ausgewählten Datensatz -> SESSION EDIT

und das auf der edit.pho nur die Session Edit geladen wird?
Und dann update ich meine DB nachdem ich ein edit erfolgreich gemacht hab und dann müsste ich die SESSION ALL auch updaten ? Sowas geht nicht?

DANKE DANKE FÜR ALLE ANTWORTEN!
 
Eine DB-Abfrage ist sicherlich performanter als durch hunderte Datensätz zu iterrieren, dazu hast du noch die Möglichkeit gleich im Query zu definieren welche Daten angezeigt werden sollen.

Was man allerdings nicht machen sollte, in einer Schleife jeden Datensatz durch einen neuen Query bearbeiten, das kostet performance ohne Ende. Mach doch mal nen Test mit Ladezeiten...
 
Zuletzt bearbeitet:
Könnt ich eigentlich ein Mehrdimensionales Array erstellen?

und wenn ich dann auf die edit funktion zugreif das er mir nur das Array mitgebt was ich brauch?
Ist sowas realisierbar?

Sonst bin ich ja eh bei meiner Funktion schneller, das einmal ins Array laden bei der View dann die id aus dem Array bei dem Datensatz auslesen , und eine neue MYSQL Abfrage starten... so wie ich das eigentlich immer mach...

Also gibt es nicht wirklich eine Möglichkeit ich sag ->

Alle Daten -> SESSION ALL
Ausgewählten Datensatz -> SESSION EDIT

und das auf der edit.pho nur die Session Edit geladen wird?
Und dann update ich meine DB nachdem ich ein edit erfolgreich gemacht hab und dann müsste ich die SESSION ALL auch updaten ? Sowas geht nicht?

DANKE DANKE FÜR ALLE ANTWORTEN!

Es werden immer alle Daten der Session übergeben, klar kannste auswählen welche du dann brauchst, aber du siehst selber das du um einiges mehr aktionen hast als eigentlich notwendig.
 
Also würdest du die Datensätze nicht in eine SESSION speichern?

Also so wie ich das jetzt mitbekommen hab was logisch für mich klingt ist.

1. Datensätze holen -> Array
2. Array ausgeben
3. Edit Record -> neue Abfrage
4. Update - MYSQL

So nun wenn ich wieder auf die View geh , muss ich wieder alle Datensätze hollen, oder soll ich die in eine SESSION speichern.
Und das nächste Problem , wie bekomm ich den geänderten Datensatz wieder ins Array bzw in die Session?
Somit müsste ich immer alle Datensätze neu generieren lassen im View oder?
 
Was man allerdings machen sollte, in einer Schleife jeden Datensatz durch einen neuen Query bearbeiten, das kostet performance ohne Ende. Mach doch mal nen Test mit Ladezeiten...
Meinst du damit, dass man sowas
PHP:
$load = $connect->query("SELECT * FROM test");
while($row = $load->fetch_assoc()){
    $load2 = $connect->query("SELECT * FROM test1 WHERE '{$row['name']}' = name");
    $row1 = $load2->fetch_assoc();
    print $row1['id'];
}
nicht machen sollte? Ist einfach nur ein doofes Beispiel jetzt.^^
 
Also würdest du die Datensätze nicht in eine SESSION speichern?

Also so wie ich das jetzt mitbekommen hab was logisch für mich klingt ist.

1. Datensätze holen -> Array
2. Array ausgeben
3. Edit Record -> neue Abfrage
4. Update - MYSQL

genau

So nun wenn ich wieder auf die View geh , muss ich wieder alle Datensätze hollen, oder soll ich die in eine SESSION speichern.
Für was brauchst du die Daten in der Session? Hast bisher noch keine vernünftige Antwort gegeben.

Und das nächste Problem , wie bekomm ich den geänderten Datensatz wieder ins Array bzw in die Session?
Indem du ihn hinzufügst?

Somit müsste ich immer alle Datensätze neu generieren lassen im View oder?

So wird es im Regelfall gemacht.
 
genau


Für was brauchst du die Daten in der Session? Hast bisher noch keine vernünftige Antwort gegeben.


Indem du ihn hinzufügst?



So wird es im Regelfall gemacht.


Em irgendwo muss ich doch die View Daten speichern?
Wenn ich die ins Array lade, dann sind die ja nur für diesen Moment verfügbar , ich will nicht wieder die gesamte DB reinladen, die will ich nur einmal laden! Will dann nur die geupdaten Daten laden.?

Also wenn ich dann auf die nächste Seite geh dann sind die Daten ja weg und wenn ich wieder auf view geh müsst ich wieder alle Daten ins Array laden, darum hab ich mir einfach gedacht i nehm das Array immer mit ...
 
Zuletzt bearbeitet:
Und ich hab dir vorhin schon geschrieben das es so im Normalfall gemacht wird.
Die Daten speichert man nur in der Session wenn sie über mehrere Seiten hinweg gebraucht werden.
Ein Array kannst du in der Session nur speichern wenn du es vorher serialisierst, d.h. du müsstest es dann wenn du es brauchst deserialisieren, dein Update machen, den Datensatz im Array ändern und wieder serialisieren....
das kostet mehr Performance als es jedesmal neu zu laden.
 
Dann bedanke ich mich sehr bei dir! Danke Danke!
Dann versuch ich des mal meinen Kollegen zu erklären , schauen wir mal was er dazu sagt.

Es ist auch die leichtere Lösung finde ich, als jedesmal das ganze array durchzukrammen.
 
Was natürlich am besten wäre ist folgendes Szenario:

Daten werden ins Array geladen, dann wird es gecacht, wenn ein Update eines Datensatze geschieht den Cache aktualisieren.
Dann kannste die Daten immer ausm Cache laden und kostet weder eine Abfrage noch musst du es in der Session speichern.
 
Zurück