利用AJAX查询数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJAX查询数据</title>
<script src="../jquery-1.11.2.min.js"></script>
</head>
<body>
<input type="button" value="显示数据" id="btn" />
<table id="xianshi" width="100%" cellpadding="0" cellspacing="0" border="1">
</table>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
$("#btn").click(function(){
$.ajax({
url:"chuli1.php",
dataType:"TEXT",
success: function(data){
//alert(data);
var str = "<tr><td>代号</td><td>姓名</td></tr>";
var hang = data.split("|");
for(var i=0;i<hang.length;i++)
{
var lie = hang[i].split("^");
//str+="<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>删除</td></tr>";
str+="<tr>";
for(var j=0;j<lie.length;j++)
{
str+="<td>"+lie[j]+"</td>";
}
str+="</tr>"
}
$("#xianshi").html(str);
}
});
})
});
</script>
</html>
处理页面:主要是讲二维数组装换成字符串的形式
<?php
include("../test0506/DBDA.class.php");
$db = new DBDA();
$sql = "select * from Nation";
$attr = $db->Query($sql);//返回一个二维数组
//将二维数组转换成字符串格式因为ajax返回的是text格式的
//echo "p001^汉族|p002^满族|p003^回族";//类似这种格式的才可以
$str = "";
foreach($attr as $v)
{
//$str = implode("^",$v);//$v里面含有一条一条的数据,列与列之间的
$str = $str.implode("^",$v);//否则等再次循环时会被替换
$str = $str."|";
}
$str = substr($str,0,strlen($str)-1);//截取字符串的长度
echo $str;
显示效果:
利用AJAX删除数据,这个同之前不同的是不刷新页面-----处理页面同上
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJAX查询数据</title>
<script src="../jquery-1.11.2.min.js"></script>
<style type="text/css">
.shan
{
width:100px;
height:30px;
background-color:#30F;
color:#FFF;
text-align:center;
line-height:30px;
vertical-align:middle;
font-size:20px;
}
.shan:hover
{
background-color:#F63;
cursor:pointer;
}
</style>
</head>
<body>
<input type="button" value="显示数据" id="btn" />
<table id="xianshi" width="100%" cellpadding="0" cellspacing="0" border="1">
</table>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
$("#btn").click(function(){
ShowAll();
BindCK();
})
function BindCK()
{
$(".shan").click(function(){
var code = $(this).attr("bs");//获取主键值,有一个参数是获取
$.ajax({
url:"delete1.php",
data:{code:code},
dataType:"TEXT",
type:"POST",
success: function(data){
if(data.trim()=="OK")//执行获取表格的内容部分
{
ShowAll();
BindCK();
}
else
{
alert("删除失败");
}
}
});
})
}
function ShowAll()
{
$.ajax({
async:false,//变为同步,删除时使用
url:"chuli1.php",
dataType:"TEXT",
success: function(data){
//alert(data);
var str = "<tr><td>代号</td><td>姓名</td><td>操作</td></tr>";
var hang = data.split("|");
for(var i=0;i<hang.length;i++)
{
var lie = hang[i].split("^");
//str+="<tr><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>删除</td></tr>";
str+="<tr>";
for(var j=0;j<lie.length;j++)
{
str+="<td>"+lie[j]+"</td>";
}
str+="<td><div class='shan' bs='"+lie[0]+"'>删除<div></td>"; //自定义属性bs类似主键值
str+="</tr>"
}
$("#xianshi").html(str);
}
});
}
});
</script>
</html>
显示效果:
附:将AJAX中二维数组转换成字符串,封装成类
<?php
class DBDA
{
public $host = "localhost"; //服务器地址
public $uid = "root"; //数据库的用户名
public $pwd = ""; //数据库的密码
//执行SQL语句,返回相应结果的函数
//$sql是要执行的SQL语句
//$type是SQL语句的类型,0代表增删改,1代表查询
//$db代表要操作的数据库
//Ajax调用返回字符串
public function StrQuery($sql,$type=1,$db="mydb")
{
//造连接对象
$conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
//判断连接是否成功
!mysqli_connect_error() or die("连接失败!");
//执行SQL语句
$result = $conn->query($sql);
//判断SQL语句类型
if($type==1)
{
$attr = $result->fetch_all();
$str = "";
//如果是查询语句返回字符串
for($i=0;$i<count($attr);$i++)
{
for($j=0;$j<count($attr[$i]);$j++)
{
$str = $str.$attr[$i][$j];
$str = $str."^";
}
$str = substr($str,0,strlen($str)-1);
$str = $str."|";
}
$str = substr($str,0,strlen($str)-1);
return $str;
}
else
{
//如果是其他语句,返回true或false
if($result)
{
return "OK";
}
else
{
return "NO";
}
}
}
}
例题
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
include("DBDA.php");
$db = new DBDA();
$sql = "select count(*) from Info where Code = 'p001'";
$str = $db->StrQuery($sql);
echo $str;
?>
</body>
</html>
结果是:1