PHP_AJAX实例4

AJAX 可用于以 XML 返回数据库信息。

<html>
<head>
<script src="responsexml.js"></script>
</head>
<body>

<form> 
Select a User:
<select name="users" οnchange="showUser(this.value)">
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Joseph Swanson</option>
<option value="4">Angelo Miachel</option>
</select>
</form>

<h2>
<span id="firstname"></span> <span id="lastname"></span>
</h2>

<span id="job"></span>

<div style="text-align: right">
<span id="age_text"></span>
<span id="age"></span>
<span id="hometown_text"></span>
<span id="hometown"></span>
</div>

</body>
</html>
var xmlHttp

function showUser(str)
 { 
     xmlHttp=GetXmlHttpObject()
     if (xmlHttp==null)
      {
          alert ("Browser does not support HTTP Request")
          return
      } 
     var url="responsexml.php"
     url=url+"?q="+str
     url=url+"&sid="+Math.random()
     xmlHttp.onreadystatechange=stateChanged 
     xmlHttp.open("GET",url,true)
     xmlHttp.send(null)
 }

function stateChanged() 
{ 
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    {
         xmlDoc=xmlHttp.responseXML;
         document.getElementById("firstname").innerHTML=
         xmlDoc.getElementsByTagName("firstname")[0].childNodes[0].nodeValue;
         document.getElementById("lastname").innerHTML=
         xmlDoc.getElementsByTagName("lastname")[0].childNodes[0].nodeValue;
         document.getElementById("job").innerHTML=
         xmlDoc.getElementsByTagName("job")[0].childNodes[0].nodeValue;
         document.getElementById("age_text").innerHTML="Age: ";
         document.getElementById("age").innerHTML=
         xmlDoc.getElementsByTagName("age")[0].childNodes[0].nodeValue;
         document.getElementById("hometown_text").innerHTML="<br/>From: ";
         document.getElementById("hometown").innerHTML=
         xmlDoc.getElementsByTagName("hometown")[0].childNodes[0].nodeValue;
     }
}

function GetXmlHttpObject()
 { 
     var objXMLHttp=null
     if (window.XMLHttpRequest)
      {
        objXMLHttp=new XMLHttpRequest()
      }
     else if (window.ActiveXObject)
      {
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
      }
     return objXMLHttp
 }
<?php
header('Content-Type: text/xml');
header("Cache-Control: no-cache, must-revalidate");
//A date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

$q=$_GET["q"];

$con = mysql_connect('localhost', 'root', '*****');
if (!$con)
 {
    die('Could not connect: ' . mysql_error());
 }

mysql_select_db("angelo_one", $con);

$sql="SELECT * FROM User WHERE id = ".$q."";

$result = mysql_query($sql);

echo '<?xml version="1.0" encoding="ISO-8859-1"?>
<person>';
while($row = mysql_fetch_array($result))
 {
     echo "<firstname>" . $row['FirstName'] . "</firstname>";
     echo "<lastname>" . $row['LastName'] . "</lastname>";
     echo "<age>" . $row['Age'] . "</age>";
     echo "<hometown>" . $row['Hometown'] . "</hometown>";
     echo "<job>" . $row['Job'] . "</job>";
 }
echo "</person>";

mysql_close($con);
?>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值