SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.04.2009, 11:26:51
Exe0 Exe0 ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 49
Beiträge: 3
Temporäre Daten, mehrseitige Formulare

Hallo alle zusammen.

Da ich in diesem Forum noch neu bin, hoffe ich, dass ich gründlich genug recherchiert habe und diese Frage kein zweites Mal gestellt wird:

Die Aufgabe:
Ich möchte die Eingabe von Daten über mehrere Formulare und PHP-Seiten hinweg gestalten:

Seite 1: Kundendaten (Ergebnis soll beim Speichern in Datenbank "Kunden")
Seite 2: Mehrere Texte abhängig vom Kunden (Ergebnis soll beim Speichern in Datenbank "Texte")
Seite 3: Mehrere Dateien abhängig vom Kunden (Ergebnis soll beim Speichern in Datenbank "Dateien")
Seite 4: User muss sich entscheiden: Neuer Kunde speichern oder verwerfen. Ist speichern angesagt, erst dann werden die Daten in die entsprechenden Datenbanken gespeichert. Bei verwerfen werden sie einfach vergessen.

Der Ansatz:
Mein Ansatz war der, dass ich mit temporären Tabellen arbeiten könnte, aber in meinen Versuchen waren die temporären Tabellen nach dem Wechsel von Seite 1 zu Seite 2 weg und damit dann natürlich auch die Daten.

Der Weg über Session-Variablen erschien mir zu aufwendig, da ich für die entsprechenden Übersichtslisten und Sortierungen von Hand machen müßte und nicht bequem per SELECT.

Gibt es einen besseren Weg?

Vielen Dank und viele Grüße,
Axel.
Mit Zitat antworten
  #2  
Alt 30.04.2009, 11:42:45
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
AW: Temporäre Daten, mehrseitige Formulare

Hallo und willkommen im Forum.

Du könntest das wie du schon gesagt hast einfach in eine noramel Tabelle reinschreiben die du speziell für so temporäre Sache hast. Ich würde hier nicht extra eine echt temporäre Tabelle verwenden, dann sollte es auch funktionieren.

Weiter kannst du auch per SESSION oder per POST (hidden fields) transportieren, sehe aber das Problem mit dem sortieren, welches du beschreibst, nicht.

Gruß
Domi
__________________

the best way to be ready for the future is to invent it
Mit Zitat antworten
  #3  
Alt 30.04.2009, 11:54:22
Exe0 Exe0 ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 49
Beiträge: 3
AW: Temporäre Daten, mehrseitige Formulare

Hallo Domi.

Ui, vielen Dank für die schnelle Antwort!

Das Problem mit einer normalen Tabelle ist, dass eine solche Eingabe auch von mehreren Usern gleichzeitig gemacht werden muss. Habe ich dann eine "normale temporäre Tabelle" und die wird dann von mehreren Usern gleichzeitig gefüttert, fürchte ich wohl Datenchaos bzw. gar zerstörte Daten.

Eventuell war die Struktur meines Vorhabens nicht ganz gut erklärt:

Wenn ich auf der Seite der Texte bin, dann erhalte ich zunächst eine Tabelle mit den bereits eingegebenen Texten. Dort klicke ich dann auf den Knopf "Neu" und füge einen weiteren Texteintrag hinzu. Nachdem ich gespeichert habe, lande ich wieder auf der Übersichtstabelle der Texte. Diesen Lauf kann ich sooft wiederholen, wie ich will, bis ich eben auf "Weiter" klicke und erst dann gelange ich zur Seite der Dateien.

Für die Darstellung der mehrspaltigen Daten möchte ich dem Benutzer die Möglichkeit geben nach verschiedene Spalten zu sortieren (Freigabe, Erstellungsdatum, Text, etc.). Das bedeutet, ich müßte die gesamten Daten für die Texte in einem mehrdimensionalen Array halten. Und von dort aus dann die Daten dann sortieren und ausgeben.

Wichtig ist auch noch, dass die gleichen Seiten auch für das Ändern eines bestehenden Kunden zum Tragen kommen sollen. Das heißt, ich habe einen bestehenden Datenbestand in einer Tabelle und "neue temporäre Datensätze", die ich bis zum Zeitpunkt des Speichers irgendwo halten muss. Mit einer temporären Tabelle könnte ich einfach per SELECT und JOIN eine gemeinsame Liste der normalen und temporären Tabelle erstellen und auch bequem per ORDER BY sortieren.

Würde ich das gleiche mit ARRAYs über die Session-Möglichkeit machen, dann müßte ich für das Anzeigen der Übersichtsliste eine Mischung aus den temporären Daten und den bereits existierenden Daten der Tabelle machen und das war genau der Punkt, der mir sehr aufwendig erschien.

Vielleicht ist mein Ansatz aber auch einfach nur zu kompliziert?

Grüße,
Axel.

Geändert von Exe0 (30.04.2009 um 11:55:29 Uhr) Grund: Erklärungsfehler
Mit Zitat antworten
  #4  
Alt 30.04.2009, 12:21:15
Benutzerbild von Domi
Domi Domi ist offline
Senior Member
 
Registriert seit: Nov 2003
Ort: Kempten @ Allgäu
Alter: 36
Beiträge: 1.408
AW: Temporäre Daten, mehrseitige Formulare

Zitat:
Zitat von Exe0 Beitrag anzeigen
Das Problem mit einer normalen Tabelle ist, dass eine solche Eingabe auch von mehreren Usern gleichzeitig gemacht werden muss. Habe ich dann eine "normale temporäre Tabelle" und die wird dann von mehreren Usern gleichzeitig gefüttert, fürchte ich wohl Datenchaos bzw. gar zerstörte Daten.
speicher die user_id aus der SESSION dazu, dann klappt das, dazu ein timestamp oder die SESSEION-ID um die alten Datenmsätze zu löschen.

Zitat:
Zitat von Exe0 Beitrag anzeigen
Eventuell war die Struktur meines Vorhabens nicht ganz gut erklärt:

Wenn ich auf der Seite der Texte bin, dann erhalte ich zunächst eine Tabelle mit den bereits eingegebenen Texten. Dort klicke ich dann auf den Knopf "Neu" und füge einen weiteren Texteintrag hinzu. Nachdem ich gespeichert habe, lande ich wieder auf der Übersichtstabelle der Texte. Diesen Lauf kann ich sooft wiederholen, wie ich will, bis ich eben auf "Weiter" klicke und erst dann gelange ich zur Seite der Dateien.

Für die Darstellung der mehrspaltigen Daten möchte ich dem Benutzer die Möglichkeit geben nach verschiedene Spalten zu sortieren (Freigabe, Erstellungsdatum, Text, etc.). Das bedeutet, ich müßte die gesamten Daten für die Texte in einem mehrdimensionalen Array halten. Und von dort aus dann die Daten dann sortieren und ausgeben.

Wichtig ist auch noch, dass die gleichen Seiten auch für das Ändern eines bestehenden Kunden zum Tragen kommen sollen. Das heißt, ich habe einen bestehenden Datenbestand in einer Tabelle und "neue temporäre Datensätze", die ich bis zum Zeitpunkt des Speichers irgendwo halten muss. Mit einer temporären Tabelle könnte ich einfach per SELECT und JOIN eine gemeinsame Liste der normalen und temporären Tabelle erstellen und auch bequem per ORDER BY sortieren.

Würde ich das gleiche mit ARRAYs über die Session-Möglichkeit machen, dann müßte ich für das Anzeigen der Übersichtsliste eine Mischung aus den temporären Daten und den bereits existierenden Daten der Tabelle machen und das war genau der Punkt, der mir sehr aufwendig erschien.

Vielleicht ist mein Ansatz aber auch einfach nur zu kompliziert?

Grüße,
Axel.
Wie gesagt, würde das mit einer richtigen Tabelle dann machen.

Wie das mit den temporären Tabellen bei der MySQL ist kann ich dir nicht sagen wie lange die halten, kenne das nur von ORACLE.

Domi

//EDIT: du könntest es auch in die richtige DB speichern, dazu ein weiteres Feld mit der BenutzerID: "0" ist dann für alle sichbar, ID > 0 bedeutet nur für den Benutzer dessen ID drin steht.
__________________

the best way to be ready for the future is to invent it

Geändert von Domi (30.04.2009 um 12:22:58 Uhr)
Mit Zitat antworten
  #5  
Alt 30.04.2009, 14:30:17
Exe0 Exe0 ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 49
Beiträge: 3
AW: Temporäre Daten, mehrseitige Formulare

Hallo Domi.

Zitat:
Zitat von Domi Beitrag anzeigen
speicher die user_id aus der SESSION dazu, dann klappt das, dazu ein timestamp oder die SESSEION-ID um die alten Datenmsätze zu löschen.
Ok. Mal angenommen ich würde das so machen, dann würde ich z.b. einen Tabellennamen wie "Kunden_1234" rausbekommen. Ich kann aber vom CMS (Joomla) her nicht verhindern, dass ein User mehrfach eingeloggt wäre. In diesem Falle würde der dopplet eingeloggte User dann auch die Daten des anderen Users "zu Gesicht bekommen" und umgekehrt.

Der logische nächste Weg wäre dann die Session-ID mit dazuzunehmen. Dabei habe ich aber dann das Problem, dass ich im Falle eines Sessionverlustes nicht mehr weiß, welche der Tabellen noch in Gebrauch sind und welche nicht.

Zitat:
Zitat von Domi Beitrag anzeigen
Wie gesagt, würde das mit einer richtigen Tabelle dann machen.

Wie das mit den temporären Tabellen bei der MySQL ist kann ich dir nicht sagen wie lange die halten, kenne das nur von ORACLE.

Domi

//EDIT: du könntest es auch in die richtige DB speichern, dazu ein weiteres Feld mit der BenutzerID: "0" ist dann für alle sichbar, ID > 0 bedeutet nur für den Benutzer dessen ID drin steht.
Diese Idee kam mir auch schon, hier hätte ich aber auch das gleiche Eindeutigkeitsproblem wie bei dem Ansatz mit dem temporären Tabellennamen.

Wie funktionieren denn temporäre Tabellen in ORACLE?

Danke und grüße,
Axel
Mit Zitat antworten
  #6  
Alt 26.05.2009, 22:37:25
Benutzerbild von CeBe
CeBe CeBe ist offline
Anfänger
 
Registriert seit: Oct 2008
Ort: Freden
Alter: 35
Beiträge: 37
CeBe eine Nachricht über ICQ schicken CeBe eine Nachricht über Skype™ schicken
AW: Temporäre Daten, mehrseitige Formulare

Zitat:
Zitat von Exe0 Beitrag anzeigen
Ok. Mal angenommen ich würde das so machen, dann würde ich z.b. einen Tabellennamen wie "Kunden_1234" rausbekommen. Ich kann aber vom CMS (Joomla) her nicht verhindern, dass ein User mehrfach eingeloggt wäre. In diesem Falle würde der dopplet eingeloggte User dann auch die Daten des anderen Users "zu Gesicht bekommen" und umgekehrt.
Eine UserId sollte eigentlich immer eindeutig sein und selbst, wenn der User mit zwei Browsern eingeloggt ist, ist es trotzdem die selbe Person, sofern nicht jemand bösartig versucht hat sich als jemand anders einzuloggen.
Du solltest die ID übrigens nicht an den Tabellennamen anhängen, sondern eine Spalte in der Tabelle für die ID anlegen, anhand der du dann die Daten wieder selektierst.

Zitat:
Zitat von Exe0 Beitrag anzeigen
Der logische nächste Weg wäre dann die Session-ID mit dazuzunehmen. Dabei habe ich aber dann das Problem, dass ich im Falle eines Sessionverlustes nicht mehr weiß, welche der Tabellen noch in Gebrauch sind und welche nicht.
Wie schon gesagt, du benutzt eine Tabelle mit der ID und/oder der Session in einer zusätzlichen Spalte. Bei Sessionverlust sind logischerweise die Daten nicht mehr brauchbar, du kannst aber feststellen, welche Sessions noch existieren und dann alte Daten löschen.

Zitat:
Zitat von Exe0 Beitrag anzeigen
Wie funktionieren denn temporäre Tabellen in ORACLE?
Temporäre Tabellen sind hier definitv der falsche Ansatz, da diese dazu gedacht sind Daten in EINEM Aufruf zu verarbeiten. Zum Beispiel Sortierungen vorzunehmen, die nicht mit einem SELECT zu bewältigen sind.

MfG
Carsten
__________________
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP generierte XML Daten weiterverwenden Loki555 PHP für Fortgeschrittene und Experten 2 29.04.2009 21:42:03
Daten aus csv-Datei in zwei Tabellen speichern sputnik72 PHP Grundlagen 6 13.08.2007 17:12:15
Daten zu den vorhandenen dazuaddieren pekobe MySQLi/PDO/(MySQL) 2 27.05.2006 11:40:17
Daten von PHP an PHP übergeben! OlliT PHP für Fortgeschrittene und Experten 4 02.11.2004 11:16:55
Daten aus 2 mysql-tabellen ausgeben xnay PHP Grundlagen 1 13.12.2003 18:33:43


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:58:47 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt