【php开源代码栏目提醒】:以下是网学会员为您推荐的php开源代码-18_4.php,希望本篇文章对您学习有所帮助。
<?php
if(isset($_GET["action"]) and $_GET["action"]=="getXML"){
//发送头文件
header('Content-Type:text/xml;charset=GB2312');
//连接数据库
mysql_connect("localhost","root","pass
word");
mysql_select_db("learn");
//设置字符集
mysql_query("set names gb2312");
//转换外部变量,防止SQL注入
$intnumber = intval($_GET["number"]);
if($intnumber>=1){
//取出数据
$result = my
sql_query("select * from user LIMIT 0,{$intnumber}");
//XML头
$xml = "<?xml version=\"1.0\" encoding=\"GB2312\"?>
<users>";
while($user = mysql_fetch_array($result)){
//生成XML数据
$xml .= "
<row>
<id>".$user[6]."</id>
<name>".$user[0]."</name>
<sex>".$user[1]."</sex>
<age>".$user[2]."</age>
<birthday>".$user[3]."</birthday>
<province>".$user[4]."</province>
<resume>".$user[5]."</resume>
</row>";
}
//XML尾
$xml .= "
</users>";
//输出数据
print $xml;
}else{
print "非法数据格式!";
}
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>
PHP AJAX XML</title>
<?php
include_once("18_1.php");
?>
<script type="text/javascript" language="javascript 1.2">
function getContent(){
//定义要提交脚本的地址
var url = "18_4.php";
var number = document.getElementById("number").value;
var action = "action=getXML&number="+number;
//指定回调函数
xmlHttp.onreadystatechange = showXML;
//使用GET方法提交数据
xmlHttp.open("GET",url+"?"+action,true);
//发送请求
xmlHttp.send(null);
}
//回调函数
function showXML(){
//提交请求后的状态
if (xmlHttp.readyState == 4) {
//HTTP请求的状态
if (xmlHttp.status == 200) {
//返回XML对象
var xmlDoc = xmlHttp.responseXML;
//解析XML
var root = xmlDoc.getElementsByTagName("row");
for (var x=0; x<root.length; x++){
var row = new Array(7);
row[0]=root[x].selectSingleNode("id").text;
row[1]=root[x].selectSingleNode("name").text;
row[2]=root[x].selectSingleNode("sex").text;
row[3]=root[x].selectSingleNode("age").text;
row[4]=root[x].selectSingleNode("birthday").text;
row[5]=root[x].selectSingleNode("province").text;
row[6]=root[x].selectSingleNode("resume").text;
//添加行到表格中
addrow("userList",row);
}
} else {
alert('HTTP请求错误');
}
}
}
//把数组中的内容添加到指点表的函数
function addrow(tablename, array){
var table = document.getElementById(tablename);
var lastRow = table.rows.length;
var row = table.insertRow(lastRow);
for (r = 0; r < array.length; r++) {
var cell = row.insertCell(r);
cell.innerHTML = array[r];
}
}
</script>
</head>
<body>
<form>
取出的记录数:<input type="text" value="" id="number"><input type="button" value="取得数据库记录" onclick="getContent()" />
</form>
<p><table border="1" id="userList"><tr><th>ID</th><th></th><th>性别</th><th>年龄</th><th>生日</th><th>省份</th><th>备注</th></tr></table></p>
</body>
</html>