javascript charge un fichier et le traite. Ce fichier est un XML, mais rien ne t'empeche d'appeler un script PHP qui va taper dans ta base et te renvoie un XML
Exemple simple:
Je charge villes.php?cp=75
villes.php :
/* il faut penser a prevoir les cas d'erreur, pas fait ici */
echo "<racine>";
$requete=mysql_query("SELECT * FROM villes WHERE cp LIKE '".$_GET['cp']."%' ORDER BY ville");
while($r=mysql_fetch_assoc($requete)) {
echo "<item value=\"".$r['cp']."\" nom=\"".$r['ville'].\"">";
}
echo "</racine>";
puis dans ton fichier appelant, le javascript se charge de faire toutes les modifications necessaires à partir des éléments renvoyés par le script