![]() |
Datenbank: MySQL • Version: 5.0 • Zugriff über: PHP
Temporary-Table zum Weiterreichen von Daten
Hallo!
Ich will über eine DropDown-Box (HTML: Select) mehrere Werte übergeben. Genaugenommen eine Kombination aus zwei IDs. Das geht bekanntlich nicht, da es nur eine value Eigenschaft geben darf. Man könnte das ganze jetzt per Trennsymbol lösen, also value="4,2" oder values="4|2". Das möchte ich aber eigentlich aus mehreren Gründen nicht (sieht nicht gut aus; man bräuchte zusätzliche Überprüfung, ob diese Kombination erlaubt ist; etc.). Jedenfalls dachte ich jetzt an eine Tabelle, in der für jede Kombination eine ID angelegt wird, welche dannüber value übergeben wird. Meine Frage: Sollte ich hierfür eine TEMORARY-Table oder eine "normale" Tabelle verwenden? Die Daten werden eigentlich nur für ein paar Formulare benötigt, aber immer auf einer Seite (die Daten werden also per POST und GET weitergereicht). Ist hier eine TEMPORARY-Table überhaupt möglich? Grüße Faux |
Re: Temporary-Table zum Weiterreichen von Daten
Eine Temporäre Tabelle wird doch von MySQL nachdem die Verbindung geschlossen wird (mysql_close()) wieder gelöscht, soweit ich das der Dokumentation entnommen habe. Wie kann ich die Tabelle dann zwischen den Formularen bestehend erhalten? Könnte ich die Verbdinungs-ID weitergeben und die Verbindung dann nicht neu aufbauen, sondern einfach weiterverwenden? Gibt es eine andere (akzeptable) Lösung?
Grüße Faux |
Re: Temporary-Table zum Weiterreichen von Daten
Vl. sollte ich meine Frage anders stellen:
Temporäre Tabellen werden von MySQL nachdem die aktuelle Verbindung getrennt wird, wieder verworfen. Wenn ich in PHP eine Seite wechsle, wird die Verbindung getrennt und neu aufgebaut --> Temporäre Tabellen werden gelöscht. Gibt es eine Möglichkeit diese zu Erhalten? Also die Verbindung z. B. nicht zu trennen, sondern fortzusetzen? |
Re: Temporary-Table zum Weiterreichen von Daten
Indem du eine persistente Datenbankverbindung aufbausr (mysql_pconnect())
|
Re: Temporary-Table zum Weiterreichen von Daten
Danke für die Antwort!
PHP Documentation When connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection. Wie "weiß" PHP welche Verbindung es wieder aufnehmen muss, wenn mehrere offene Verbindungen zur Verfügung stehen? Wenn z. B. mehrere User gleichzeitig mein Formular absenden, entstehen mehrere offene Verbindungen; wie weiß PHP, welche dieser Verbindungen zuvor verwendet wurde? Wenn nämlich eine falsche Verbindung wiederaufgenommen wird, so kann es dazukommen, dass die Temporäre Tabelle die falschen Inhalte aufweißt. Grüße Faux |
Re: Temporary-Table zum Weiterreichen von Daten
Ich vermute mal, daß er die Verbindung an die Session hängt.
|
Re: Temporary-Table zum Weiterreichen von Daten
Naja, das wäre ein wichtiger Punkt. Was ist wenn ich keine Session hätte?
Weiß jemand genaueres darüber? Die PHP-Doku sagt nicht mehr. :( Grüße Faux |
Re: Temporary-Table zum Weiterreichen von Daten
Wenn du dich nicht auf den Automatismus verlassen willst, kannst du die Verbindung auch in die Session übernehmen.
|
Re: Temporary-Table zum Weiterreichen von Daten
Moin Faux,
Zitat:
Du wählst doch den Wert mittels der DropDown-Liste aus. :gruebel: Solltest Du jetzt vor dem Problem stehen, dass diese Werte an verschiedenen Stellen benötigt werden, und Du nur verhindern willst, dass Du Dich vertippst: In ASP lege ich mir für solche Werte eine projektglobale Include-Datei mit entsprechenden "Konstanten" an, die dann in jedes Script eingebunden wird. Vielleicht lässt sich das in PHP ja auch so abbilden (PHP kenne ich nicht) |
Re: Temporary-Table zum Weiterreichen von Daten
Hallo Christian!
Folgende Situation: In meinem Skript wird ein Datum durch Wochentag und Stunde definiert (z. B. 1|3 wäre Montag 10:00-10:50, 3|1 wäre Mittwoch 8:00-8:50). In der Drop-Down soll der User ein Datum auswählen können. Hier kommen die zwei Werte ins Spiel: Wochentag und Stunde. Zusätzliches Problem: Je nach Berechtigung kann der User nur bestimmte Wochentags-Stunden-Kombinationen auswählen. Wenn ich an das Skript sowohl Wochentag wie auch Stunde sende, muss ich nochmals überprüfen, ob der User die Berechtigung hat, diese Kombination auszuwählen. Ich dachte mir, ich cache die Berechtigungen, die ja bereits beim Erstellen der DropDown-Liste aus der DB gezogen werden müssen, in einer Temporären Tabelle; ich schreibe alle möglichen Kombinationen in die Tabelle und vergebe jeder Kombination eine ID und übergebe dem Skript nur die ID; sobald die ID in der Temporären Tabelle ist, hat der User die Berechtigung. Gefahr: Wenn jetzt (hier kommt meine vorherige Frage ins Spiel) die falsche MySQL-Session fortgesetzt wird, so habe ich eine falsche Temoräre Tabelle, und somit passen die gecachten Rechte nicht mit dem User überein. Zitat:
Werde ich mal testen. Danke sehr. Grüße Faux |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz