Beitrag von Mattias (110 Beiträge) am Dienstag, 14.Mai.2002, 04:17.
DB-Abfrage
Hallo Leute, wie kann ich einen manuell eingegebenen Wert in der DB suchen und einen anderen Wert aus dem selben Datensatz ausgeben lassen? Kann ich das Beispiel <perl>get "KundenNr==32631", "adressen";</perl> verwenden, und wenn ja, wie kann ich den Wert "32631" durch den manuell eingegebenen Wert ersetzen?
Antworten
Beitrag von Mattias (110 Beiträge) am Dienstag, 14.Mai.2002, 12:16.
DB-Abfrage -- nochmal etwas konkreter
Also der Wert für "KundenNr" steht bereits in einem Formularfeld, es geht nur noch darum, ihn gegen die dazu gehörige Emailadresse auszutauschen. Irgendwie hab ich wohl nicht die richtige Variable, denn es kommt immer die Emailadresse des ersten Eintrags.
Antworten
Beitrag von Mattias (110 Beiträge) am Dienstag, 14.Mai.2002, 18:52.
Weiß das wirklich niemand ???
Oder war meine Frage so dämlich? Sorry, ich tu mich halt noch etwas schwer mit Perl (vor allem, was die Variablenübergabe zwischen Perl und JS angeht, falls das überhaupt möglich ist). Wäre aber unheimlich dankbar für nen guten Tipp (vielleicht geht's ja auch ohne Perl).
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 14.Mai.2002, 20:12.
Re: Weiß das wirklich niemand ???
Antworten
Beitrag von Mattias (110 Beiträge) am Dienstag, 14.Mai.2002, 20:47.
Re: Weiß das wirklich niemand ???
Antworten
Beitrag von Syno (13 Beiträge) am Dienstag, 14.Mai.2002, 20:51.
Re: Weiß das wirklich niemand ???
Ich glaube die Antwort ist ganz einfach.
Groß- und Kleinschreibung sind entscheidend.
Das Id-Feld in einer BP-Datenbank heißt "Id" und nicht "ID". Ich vermute mal das ist der Fehler.
Gruß
Syno
Antworten
Beitrag von Mattias (110 Beiträge) am Dienstag, 14.Mai.2002, 20:58.
Re: Weiß das wirklich niemand ???
Das hatte ich befürchtet. Habe mittlerweile den missverständlichen Feldnamen "ID" in "Code" umbenannt und auch die Anfrage entsprechend abgeändert, aber das Ergebnis ist das gleiche.
Kann ich davon ausgehen, wenn immer die Adresse des ersten Eintrags ausgegeben wird, dass entweder das Feld "Code" oder die Code-Nummer nicht gefunden wird?
Antworten
Beitrag von Syno (13 Beiträge) am Dienstag, 14.Mai.2002, 22:54.
Re: Weiß das wirklich niemand ???
Antworten
Beitrag von Mattias (110 Beiträge) am Mittwoch, 15.Mai.2002, 02:32.
Ups, das scheint wohl doch nicht so einfach zu sein ...
Also der Wert "4" im Formfeld "recipient" wurde per JS aus einem anderen Template schon beim Laden mit eingelesen. Demnach müsste doch $recipient, sobald das Form fertig eingelesen ist, eigentlich belegt sein. Und dann kann doch die Variable auch ungehindert weiter verarbeitet werden. Oder nicht?
Andererseits, wenn ich den Inhalt von "recipient" im 1. Template festlege und im 2. Template als $recipient abfrage, will das auch net so recht funzen -- klar, "recipient.value" ist ja mitsamt dem 1. Template weg vom Fenster. Ich weiß, ich nerve, aber ich krieg's einfach nicht gebacken.
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 15.Mai.2002, 14:35.
Re: Ups, das scheint wohl doch nicht so einfach zu sein ...
Nein, Du nervst nicht, das kriegen wir schon hin ;-)
Mir fehlt noch so'n bisschen das Drumherum zum Verständnis: Die 4 kommt aus einem anderen Template per JS?? Vielleicht kannst Du mal "das grössere Ganze" erklären, was Du genau machen willst, vielleicht gibts nen einfacheren Lösungsansatz...
Ansonsten, wenn ich mir Deinen Code so anschau, gibts hier glaub ich ne Irritation bzgl. Server/Client - Javascript wird auf dem "Client", also im Browser ausgeführt - baseportal/Perl auf dem "Server" - das sind zwei unterschiedliche Geschichten und Du kannst nicht ohne weiteres Variablenwerte zwischen den beiden austauschen, diese Werte müssen immer irgendwie (durch ein Formular, das Laden einer Seite o.ä.) übertragen werden... Also wenn man sich Deinen Code genauer anschaut:
<form name="form1">
<input type="hidden" name="recipient=" value="...dieser Wert wird per JS gesetzt, richtig??...."></form>
<perl>
get "ID==$recipient", "main"; # das $recipient ist bei der Ausgabe der Seite (noch) NICHT mit dem per JS gefüllten Wert gesetzt!!
</perl>
<form name="form2">
<input type=hidden name="adresse" value=$Email></form>
Das "ID" wäre übrigens kein Problem, wenn Du nicht tatsächlich das baseportal-Id (grosses I, kleines d) meinst... Und hinter das "recipient" gehört ein "=" wenn Du es an baseportal übertragen willst...
Äh, ja, irgendwie verständlich? ;-) Ich fürchte ohne das Verständnis, um was es eigentlich genau geht lässt sich das nicht lösen ;-))
Antworten
Beitrag von Mattias (110 Beiträge) am Mittwoch, 15.Mai.2002, 18:47.
Re: Ups, das scheint wohl doch nicht so einfach zu sein ...
Das mit dem Server-Client-Problem ist mir gestern Nacht auch noch irgendwie gekommen. Es scheint sich demnach auf die Frage zu reduzieren, wenn ich einen Wert in Richtung Server schicke, wo schicke ich ihn dann konkret hin, damit ich ihn weiter verarbeiten kann? Hätte mich wohl schon ein bissl eher mit serverseitiger Programmierung befassen sollen, dann würde ich jetzt nicht so auf dem Schlauch stehen.
Ich will so ne Art Login-System bauen, das aus einer Datenbank mit Codenummern und den dazu gehörigen Emailadressen besteht. Wenn der User eine Codenummer eingibt, dann geht eine Email an den Besitzer der Codenummer. Bis jetzt hab ich das so gemanaget, dass ich ein Frameset hab, dessen Mainframe (Template 1) per Input die Codenummer aufnimmt, an das Topframe schickt und danach eine neue Seite lädt (Template 2), die die Codenummer gleich beim Laden in das Feld "recipient" einfügt. Und spätestens hier ist mir klar geworden, dass man die Codenummer ja an den Server schicken muss, bevor man sie dort weiter verarbeiten kann, und dass es doch einfacher wäre, sie gleich nach der Eingabe mit dem selben Formular fort zu schicken. Aber wohin, das ist mir noch nicht ganz klar. Ich muss sie ja auch wieder finden.
Ich hoffe, ich hab mich jetzt einigermaßen verständlich ausgedrückt. Hmm, wenn ich mir das Problem so anschaue, scheint die Lösung ziemlich nahe zu liegen. Ich komm trotzdem nicht drauf.
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 16.Mai.2002, 01:58.
Re: Ups, das scheint wohl doch nicht so einfach zu sein ...
Antworten
Beitrag von Mattias (110 Beiträge) am Dienstag, 21.Mai.2002, 01:40.
Re: Ups, das scheint wohl doch nicht so einfach zu sein ...
Ihr habt ja einen Wahnsinnstraffic hier auf dem Board! Weiß gar nicht, ob du meine Antwort noch findest. Also dein Ansatz war Gold wert: klar, die URL! Ich transportiere jetzt den ganzen Wust an Formulardaten auf diesem Weg von der Eingabe über den DB-Abruf bis ins Postfach, und es funzt wie geschmiert. Also herzlichen Dank!
Antworten