phpstudy|PHP and AJAX responseXML 实例教程

更新时间:2015-08-07    来源:php与数据库    手机版     字体:

【www.bbyears.com--php与数据库】

PHP and AJAX responseXML 实例教程

AJAX技术可以用来恢复的数据库信息为XML 。




AJAX的数据库为XML的例子
在AJAX以下例子,我们将演示如何网页上可以卖到信息从一个MySQL数据库,它转换为一个XML文档,并用它来显示信息在几个不同的地方。

这个例子我似乎很像“ PHP的AJAX技术数据库”例如,在最后一章,但是有一个很大的不同:在这个例子中我们得到的数据从PHP的XML网页使用responseXML功能。

接收的响应作为XML文件使我们能够更新这个网页好几个地方,而不是只接受一个PHP输出和显示它。

在这个例子中,我们将更新一些内容与我们所收到的信息从数据库中。

id FirstName LastName Age Hometown Job 1 Peter Griffin 41 Quahog Brewery 2 Lois Griffin 40 Newport Piano Teacher 3 Joseph Swanson 39 Quahog Police Officer 4 Glenn Quagmire 41 Quahog Pilot



<script src="responsexml.js"></script>

Select a User:

 


例如解释-的H TML表单
在HTML表单是一个下拉框中所谓的“用户”的名字和“身份证”从数据库,作为选择的价值。
下面的形式有几种不同的要素是用来作为占位符的不同的价值观,我们将检索。
当用户选择的数据,一个函数称为“ showUser ( ) ”执行。执行的职能是引发的“ onchange ”事件。
换句话说:每一次变化的用户的价值在下拉框中,功能showUser ( )被调用和产出的结果在指定的内容。


转载请注明来自http://www.111cn.net/wy/yw.html


的JavaScript
这是JavaScript代码存储在文件中“ responsexml.js ” :

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="
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
 }

例如解释
该showUser ( )和GetXmlHttpObject职能是一样的PHP的AJAX章数据库,您可以去那里解释这些。

该stateChanged ( )函数

如果一个项目在下拉框中选择执行的功能如下:

界定了“语法”变量作为一个XML文件使用responseXML功能
检索数据从XML文件和使他们在正确的内容



PHP页面
该服务器的页面要求的JavaScript ,是一个简单的PHP文件名为“ responsexml.php ” 。

该网页是PHP写成的,并使用一个MySQL数据库。

该代码运行一个SQL查询的数据库,并返回结果作为一个XML文件:


$q=$_GET["q"];
$con = mysql_connect("localhost", "peter", "abc123");
if (!$con)
 {
 die("Could not connect: " . mysql_error());
 }
mysql_select_db("ajax_demo", $con);
$sql="SELECT * FROM user WHERE id = ".$q."";
$result = mysql_query($sql);
echo "
";
while($row = mysql_fetch_array($result))
 {
 echo "" . $row["FirstName"] . "";
 echo "" . $row["LastName"] . "";
 echo "" . $row["Age"] . "";
 echo "" . $row["Hometown"] . "";
 echo "" . $row["Job"] . "";
 }
echo "";
mysql_close($con);
?>
转载请注明来自http://www.111cn.net/wy/yw.html

本文来源:http://www.bbyears.com/jiaocheng/17128.html

猜你感兴趣