PHP und JavaScript

PHP und JavaScript

am 26.10.2004 12:28:29 von jk060674

Hi NG!

Ich habe mal wohl ein typisches Newbie-Problem.
Ich habe auf meiner Site mehrere Auswahlboxen, die Werte aus einer
Datenbank enthalten. Die "Auffüllung" der Daten erledige ich mittels
PHP und MySQL. Das klappt auch soweit ganz gut. Jetzt will ich aber,
nachdem ein User bei der ersten Box etwas ausgewählt hat, daß die
anderen Boxen andere Werte aus der DB enthalten.
Standardmäßig wäre die erste Füllung z.B.
Box1 --> SELECT * FROM Papier
Box2 --> SELECT * FROM Farbe

Wenn ein User nun in Box1 "DIN A4" auswählt, dann möchte ich die 2.
Box mit den Ergebnissen der folgenden Abfrage füllen:
SELECT c.Name FROM Farbe c WHERE c.papier = 'DIN A4'

d.h. daß alle Farben angezeigt werden, die in der Größe DIN A4
vorliegen (keine Gewähr auf Richtigkeit des SQL-Statements).

Mit onChange-Event kann ich die Werte ändern. In der Aufgerufenen
Funktion ändere ich die Werte mittels document.FormName.BoxName[nr] .
Weiterhin habe ich auch herausgefunden, wie man Einträge löscht.

Was mir nun fehlt ist die Anbindung an die Datenbank, damit die Werte
dynamisch geändert werden. Danke für eure Hilfe.

Jens

Hier mal den Auszugscode ...
Wie man erkennen kann möchte ich den Wert der Auswahl in der Box
main.art benutzen, um die Anfrage an die DB machen zu können. Aber
leider scheint es an der Syntax zu scheitern (oder doch an etwas
anderem?)

Re: PHP und JavaScript

am 26.10.2004 12:38:02 von jpm-account-forwards-to-dev-null-use-reply-adress

Jens Körte schrieb:

[Auswahlboxen dynamisch voneinander abhängig machen]

> Was mir nun fehlt ist die Anbindung an die Datenbank, damit die Werte
> dynamisch geändert werden. Danke für eure Hilfe.

Javascript läuft auf dem Client und kann keine Datenbank abfragen die
auf dem Server läuft. Du mußt also entweder sämtliche
Kombinationsmöglichkeiten mit Deinem PHP-Script in Javascript Arrays
schreiben, mit denen dann auf dem Client hantiert werden könnte, oder
nach Auswahl in einer Selectbox (onChange) einen neuen Request mit
entsprechenden Parametern an den Webserver schicken, mit denen PHP das
Formular bzw. die Selectboxen dann anderes befüllen könnte.


Gruß, JPM

--
SPAMSCHUTZ: Meine E-Mail Adresse ist verschlüsselt.
Wenn Du mir per Mail antworten möchtest, führe bitte
zweimal ROT-13 auf meiner E-Mail Adresse aus.

Re: PHP und JavaScript

am 26.10.2004 13:16:34 von Christian Stocker

On 26.10.2004 12:38 Uhr, Jens Peter Möller wrote:
> Jens Körte schrieb:
>
> [Auswahlboxen dynamisch voneinander abhängig machen]
>
>> Was mir nun fehlt ist die Anbindung an die Datenbank, damit die Werte
>> dynamisch geändert werden. Danke für eure Hilfe.
>
>
> Javascript läuft auf dem Client und kann keine Datenbank abfragen die
> auf dem Server läuft. Du mußt also entweder sämtliche
> Kombinationsmöglichkeiten mit Deinem PHP-Script in Javascript Arrays
> schreiben, mit denen dann auf dem Client hantiert werden könnte, oder
> nach Auswahl in einer Selectbox (onChange) einen neuen Request mit
> entsprechenden Parametern an den Webserver schicken, mit denen PHP das
> Formular bzw. die Selectboxen dann anderes befüllen könnte.

Oder mit XMLHTTPRequest rumspielen ;) Dann kann man theoretisch auch ne
DB auf dem Server abfragen, ohne dass ein Seiten reload benötigt wird.

'Ne Anwendung dessen gibt's unter
http://blog4.bitflux.ch/wiki/LiveSearch zu bewundern (also die
eigentlich Anwendung ist auf http://blog.bitflux.ch/ zu sehen, im wiki
steht die Beschreibung). Benutzt zwar keine Checkboxen und füllt auch
keine Formular automatisch ab, aber sinngemäss liesse sich sowas schon
nachbilden.




>
>
> Gruß, JPM
>

Re: PHP und JavaScript

am 26.10.2004 13:17:28 von jk060674

On Tue, 26 Oct 2004 12:38:02 +0200, Jens Peter Möller

wrote:

>nach Auswahl in einer Selectbox (onChange) einen neuen Request mit
>entsprechenden Parametern an den Webserver schicken, mit denen PHP das
>Formular bzw. die Selectboxen dann anderes befüllen könnte.

Genau darum geht es! Das steht auch soweit in meinem Programmfragment.
Ich habe da aber irgendeinen Syntaxfehler, den ich nicht finde. Da
bräuchte ich mal Hilfe

Jens