Hi Niel, > SELECT Kunden.*, City.name, City.vorwahl FROM Kunden LEFT JOIN City > USING (zipcode) I'm understanding you this is a way for designing the sql-statement. My customer want that they have inserted the city after typing in the zipcode in the zipfield. The city should be searched in a database and inserted in the field city automaticly. I think the only way is to do that with some ajax-code combined with a short phpscript. Actually I have these codes, but the automatic inserting fails, I don't know why. --------------------- ajax.js function Ajax() { //Eigenschaften deklarieren und initialisieren this.url=""; this.params=""; this.method="GET"; this.onSuccess=null; this.onError=function (msg) { alert(msg) } } Ajax.prototype.doRequest=function() { //Üeberpruefen der Angaben if (!this.url) { this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen."); return false; } if (!this.method) { this.method="GET"; } else { this.method=this.method.toUpperCase(); } //Zugriff auf Klasse für readyStateHandler ermöglichen var _this = this; //XMLHttpRequest-Objekt erstellen var xmlHttpRequest=getXMLHttpRequest(); if (!xmlHttpRequest) { this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden."); return false; } //Fallunterscheidung nach Übertragungsmethode switch (this.method) { case "GET": xmlHttpRequest.open(this.method, this.url+"?"+this.params, true); xmlHttpRequest.onreadystatechange = readyStateHandler; xmlHttpRequest.send(null); break; case "POST": xmlHttpRequest.open(this.method, this.url, true); xmlHttpRequest.onreadystatechange = readyStateHandler; xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttpRequest.send(this.params); break; } //Private Methode zur Verarbeitung der erhaltenen Daten function readyStateHandler() { if (xmlHttpRequest.readyState < 4) { return false; } if (xmlHttpRequest.status == 200 || xmlHttpRequest.status==304) { if (_this.onSuccess) { _this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML); } } else { if (_this.onError) { _this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenbertragung auf."); } } } } //Gibt browserunabhängig ein XMLHttpRequest-Objekt zurück function getXMLHttpRequest() { if (window.XMLHttpRequest) { //XMLHttpRequest für Firefox, Opera, Safari, ... return new XMLHttpRequest(); } else if (window.ActiveXObject) { try { //XMLHTTP (neu) für Internet Explorer return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { //XMLHTTP (alt) für Internet Explorer return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { return null; } } } return false; } ----------------------------------------- einfuegen.js //Instanz der Klasse Ajax erzeugen und mit der Datenübertragung starten function load() { var plz=document.getElementById("plz").value; with (new Ajax()){ url="ort_suchen.php"; method="POST"; params="plz="+plz; onSuccess=successHandler; onError=errorHandler; doRequest(); } //Den Text in die Seite einfügen function successHandler(txt,xml){ document.getElementById("ort").innerHTML=txt; } //Fehler function errorHandler(msg){ document.getElementById("text").innerHTML=msg; } } ----------------------------------------------- ort_suchen.php <? include("authentication.php"); $plz = mysql_real_escape_string ( $_POST['plz'],$link); $ort=""; $result=mysql_db_query($datenbank,"SELECT * from Orte WHERE PLZ = '$plz'"); while ($row=mysql_fetch_object($result)){ $ort= $row->Bezeichnung; } echo $ort; ?> ----------------------------------------- in the source-phpscript that do the request I have this html-header databaseconnection ... <script type="text/javascript" src="ajax.js"></script> <script type="text/javascript" src="einfuegen.js"></script> ... some formcode ... <tr> <td>PLZ</td> <td><INPUT type="text" id="plz" name="plz" onkeyup="load()"></td> </tr> <tr> <td>Ort</td> <td><INPUT type="text" id="ort" name="ort"> <div id="ort">Ort</div> ... Regards, Ruprecht Helms Web: http://www.rheyn.de -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php