Zur Navigation

Inhalt von verketteten Auswahllisten von Datenbank abrufen

1 Tilman

Hallo!

Auf meiner Webseite habe ich mit folgendem Script zwei "verkettete" Auswahllisten:
http://aktuell.de.selfhtml.org/artikel/javascript/verkettete-auswahllisten/

Blöd ist aber, dass ich alle Daten immer in die Java-Script-Datei eintragen muss. Ich würde das gerne machen:

- in der Datenbank sind Einträge mit den Spalten "id", "name" und "ort"
- im ersten Auswahlfeld ("Ort") sollen die verschiedenen Orte angezeigt werden (Da viele Orte öfters vorkommen, soll PHP alle verschiedenen Orte nur einmals ausgeben, die vorhanden sind.)
- im zweiten Feld ("Name") sollen dann alle Namen angezeigt werden, die zu dem ausgewählten Ort gehören.

Wie wäre das machbar?

23.02.2009 18:37

2 Jörg Kruse

Willst du die Auswahllisten über PHP statt über JavaScript ausgeben?

23.02.2009 21:02

3 Tilman

Wenn in der Datenbank z.B. 3 Personen in München wohnen, 4 in Berlin und eine in Frankfurt, so sollen in der ersten Auswahlliste München, Berlin oder Frankfurt zur Auswahl stehen. Die Orte sollen über PHP abgerufen werden und (wahrscheinlich über eine while-Schleife) in die erste Auswahlliste eingetragen werden.

Über das Script (Link oben) sollen dann anschließend alle Namen der im erstzen Auswahlmenü gewählten Stadt im zweiten Auswahlmenü stehen. (Ich glaube, das geht über Ajax.)

Ob bereits alle Namen mit der dazugehörigen Stadt beim Laden der Seite oder erst nach dem Auswählen der Stadt geladen werden, ist mir egal. Ich will halt, dass ich einfach in die Datenbank einen neuen Eintrag machen kann und nicht noch zusätzlich die JavaScript-Datei ändern muss.

24.02.2009 12:29

4 Jörg Kruse

Also wilst du das Script beibehalten und nicht komplett neu in PHP schreiben?

Dann musst du die betreffende Datei mit den Arrays durch PHP erzeugen lassen. In dem Beispiel in SELFHTML handelt es sich wohl um diese Datei:

http://aktuell.de.selfhtml.org/artikel/javascript/verkettete-auswahllisten/terminAuswahl.js

Ich will halt, dass ich einfach in die Datenbank einen neuen Eintrag machen kann und nicht noch zusätzlich die JavaScript-Datei ändern muss.

Das heißt, die Datenbanktabellen gibt es bereits? Wie sind diese denn aufgebaut?

24.02.2009 14:06

5 Tilman

Ja, die Tabelle gibt es bereits mit folgenden Spalten:
id, name, ort

24.02.2009 15:47

6 Jörg Kruse

Dann holst du die Datensätze sortiert nach ort aus dieser Tabelle. In einer Schleife kannst du dann den Inhalt der JavaScriptdatei aufbauen.

24.02.2009 15:56 | geändert: 24.02.2009 15:57

7 Tilman

OK. Aber wie kann man mit PHP die verschiedenen Städt (auch doppelt vorkommende) einmal ausgeben?

24.02.2009 16:33

8 Jörg Kruse

Dafür würde ich eine Kontrollvariable verwenden. Am Anfang ist diese leer (""). Bei jedem Datensatz wird diese Variable mit dem Ort dieses Datensatzes verglichen. Wenn sich die beiden unterscheiden, wird der Ort ausgegeben und die Kontrollvariable erhält als neuen Wert diesen Ort.

24.02.2009 16:42

... 3 Jahre und 5 Monate später ...

9 Jörgi (Gast)

Wenn du mit PHP Datensätze mit gleichem Inhalt nur einmal augeben möchtest reicht ein 'DISTINCT' bei der SQL Abfrage.

z.B : $sql="select distinct nachnamen from mitarbeiter where nachnamen='Peterson'"

lg

31.07.2012 09:33

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]