Home >Backend Development >PHP Tutorial >PHP+AJAX auto-complete example: postal code processing_PHP tutorial
When the customer inputs a POSTCODE, zipcode.PHP receives it, then retrieves the corresponding data from the data table, and returns it to the client in a certain format (separated by | here). Finally, the client receives the returned information and displays it on the page.
<script> <br>function createRequestObject() { <br>var ro; <br>var browser = navigator.appName; <br>if(browser == "Microsoft Internet Explorer"){ <br>ro = new ActiveXObject("Microsoft.XMLHTTP"); <br>}else{ <br>ro = new XMLHttpRequest(); <br>} <br>return ro; <br>} <br>var http = createRequestObject() ; <br>function sndReq(zip) { <br>http.open('get', 'zipcode.PHP?zip='+zip); <br>http.onreadystatechange = handleResponse; <br>http.send(null ); <br>} <br>function handleResponse() { <br>if(http.readyState == 4){ <br>var response = http.responseText; <br>var update = new Array(); <br>if(response.indexOf('|' != -1)) { <br>update = response.split('|'); <br>document.getElementById("city").value = update[0]; <br>document.getElementById("state").value = update[1]; <br>} <br>} <br>} <br></script>
Enter Zipcode: | City: |
State: |
The above is the customer input page, and the following is the server-side processing page 'zipcode.PHP
$dbuser = 'root';
$dbpass = '111111';
$cn = mysql_connect("localhost", $dbuser, $dbpass);
$ db = mysql_select_db("ajax");
$sql = "select city, state from zipcodes where zipcode = " . $_REQUEST['zip'];
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
echo $row['city'] . "|" . $row['state'];
mysql_close($cn);
?>
When the customer inputs a POSTCODE, zipcode.PHP receives it, then retrieves the corresponding data from the data table, and returns it to the client in a certain format (separated by | here). Finally, the client receives the returned information and displays it on the page.
if(response.indexOf('|' != -1)) {
update = response.split('|');
document.getElementById("city").value = update[0 ];
document.getElementById("state").value = update[1];