AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Temporary-Table zum Weiterreichen von Daten
Thema durchsuchen
Ansicht
Themen-Optionen

Temporary-Table zum Weiterreichen von Daten

Ein Thema von faux · begonnen am 5. Jan 2007 · letzter Beitrag vom 27. Jan 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

Temporary-Table zum Weiterreichen von Daten

  Alt 5. Jan 2007, 09:59
Datenbank: MySQL • Version: 5.0 • Zugriff über: PHP
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 7. Jan 2007, 11:32
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 19:59
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?
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 20:01
Indem du eine persistente Datenbankverbindung aufbausr (mysql_pconnect())
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 20:25
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 20:26
Ich vermute mal, daß er die Verbindung an die Session hängt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 20:46
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
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 20:48
Wenn du dich nicht auf den Automatismus verlassen willst, kannst du die Verbindung auch in die Session übernehmen.
Markus Kinzler
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 20:54
Moin Faux,

Zitat von Faux:
man bräuchte zusätzliche Überprüfung, ob diese Kombination erlaubt ist
wozu dass denn?
Du wählst doch den Wert mittels der DropDown-Liste aus.

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)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Temporary-Table zum Weiterreichen von Daten

  Alt 8. Jan 2007, 21:50
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 von mkinzler:
Wenn du dich nicht auf den Automatismus verlassen willst, kannst du die Verbindung auch in die Session übernehmen.
Ja, das ist eine logische Schlussfolgerung.
Werde ich mal testen. Danke sehr.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz