Versuch es mal mit jQuery um das ganze etwas übersichtlicher zu gestalten.
Hast du dir den Ajax-Request vom Tutorial angeschaut?
Code:
http://www.plus2net.com/php_tutorial/ajax-dd3ck.php?country=&state=&city=&id=0.8539794085081667
Country, State und City werden dem Request jeweils bei Auswahl hinzugefügt und gesendet.
D.h. du musst jeweils eine Funktion in JS(Frontend) und PHP(Backend) schreiben, die die Auswahl erkennt und die jeweiligen Werte zurückgibt.
Beispiel
Javascript
: Wenn Land ausgewählt wird, sende Ajax-Request an Server mit dem jeweiligen ausgewählten Land als Parameter. website.com/ajax.php?land=Deutschland
PHP: Der Server empfängt nun den Ajax-Request mit dem Parameter Land=Deutschland und checkt die Datenbank nach allen eingetragenen Bundesländer und sendet diese in einer Liste zurück.
Javascript
: Empfängt vom Server eine Liste von allen Bundesländern die Deutschland hat und stellt diese in der zweiten Auswahlbox zum auswählen zur Verfügung.
Nun wiederholt sich das ganze nochmals mit dem zusätzlichen Parameter des ausgewählten Bundeslandes und gibt dort alle vorhanden Städte zurück.
Selbstverständlich wäre es einfacher das ganze ohne Ajax zu machen und einfach alle Werte in der HTML Datei oder in einer dict im JS Code zur Verfügung zu stellen. Oder als eine Zwischenvariante falls sich die Werte oft ändern eine PHP-Funktion schreiben, die alle Werte aus der Datenbank zurückgibt und die bei Seitenaufruf per Ajax laden.