1. 01.php為主程序,調(diào)用smarty模板遍歷輸出:
?php
include './include/Mysql.class.php';
include './libs/Smarty.class.php';
$db=new Mysql;
$smarty=new Smarty;
$lists=$db->getALL('users');
$smarty->assign('lists',$lists);
$smarty->display('list.html');
?>
2. list.html模板:內(nèi)容結(jié)合JS ajax使用:
!DOCTYPE html>
html>
head>
meta charset=utf-8>
title>用戶權(quán)限展示表/title>
/head>
body>
//給table體設(shè)置一個div,方便js調(diào)用
div id="table">
table align="center" border="1" width="500">
center>h2>用戶權(quán)限表/h2>/center>
tr>
th>uid/th>th>用戶名/th>th>密碼/th>th>鎖定狀態(tài)/th>th>角色/th>th>操作/th>
/tr>
{foreach $lists as $list}
tr align="center">
td>{$list.uid}/td>
td>{$list.username}/td>
td>{$list.password}/td>
{if $list.is_lock==1}
td>a href="javascript:lock(0,{$list.uid});" rel="external nofollow" >鎖定/a>/td>
{else}
td>a href="javascript:lock(1,{$list.uid})" rel="external nofollow" ;>取消鎖定/a>/td>
{/if}
{if $list.role==1}
td>管理員/td>
{else}
td>編輯者/td>
{/if}
td>a href="javascript:del({$list.uid})" rel="external nofollow" >刪除/a>/td>
/tr>
{/foreach}
/table>
/div>
/body>
script type="text/javascript">
function lock(lock,uid){
//創(chuàng)建ajax對象
var xhr=new XMLHttpRequest();
//打開一個鏈接
xhr.open('post','02.php');
//設(shè)置頭信息
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
//取值,多個參數(shù)用分開
var data="is_lock="+lock+"uid="+uid;
//發(fā)送ajax數(shù)據(jù)請求
xhr.send(data);
//設(shè)置回調(diào)、監(jiān)聽函數(shù)
xhr.onreadystatechange=function(){
//如果ajax狀態(tài)碼響應(yīng)正常且網(wǎng)絡(luò)正常,獲取響應(yīng)文本
if(xhr.readyState==4xhr.status==200){
if(xhr.responseText){
document.getElementById('table').innerHTML=xhr.responseText;
}else{
alert("切換狀態(tài)失?。?);
}
}
}
}
function del(uid){
var del=window.confirm("您確定要刪除嗎?");
if(del){
//創(chuàng)建ajax對象
var xhr=new XMLHttpRequest();
//打開一個鏈接
xhr.open('post','del.php');
//設(shè)置header頭
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
//data取值
var data="uid="+uid;
//發(fā)送ajax請求
xhr.send(data);
//設(shè)置監(jiān)聽
xhr.onreadystatechange=function(){
//如果ajax狀態(tài)碼響應(yīng)正常且網(wǎng)絡(luò)正常,獲取響應(yīng)文本
if(xhr.readyState==4xhr.status==200){
if(xhr.responseText){
//用ajax響應(yīng)內(nèi)容替換本模板中table標(biāo)簽的內(nèi)容
document.getElementById('table').innerHTML=xhr.responseText;
}else{
alert("刪除失敗!");
}
}
}
}
}
/script>
/html>
3. 02.php改變狀態(tài)無刷新:
?php
include './include/Mysql.class.php';
include './libs/Smarty.class.php';
$lock=$_POST['is_lock'];
$uid=$_POST['uid'];
$smarty=new Smarty;
$db=new Mysql;
$result=$db->update('users',"is_lock=$lock","uid=$uid");
if($result){
//修改成功重新遍歷數(shù)據(jù)庫并輸出smarty模板
$lists=$db->getALL('users');
$smarty->assign('lists',$lists);
$smarty->display('list.html');
}else{
echo false;
}
?>
4.del.php實(shí)現(xiàn)刪除無刷新
?php
include './include/Mysql.class.php';
include './libs/Smarty.class.php';
$db=new Mysql;
$smarty=new Smarty;
$uid=$_POST['uid'];
$res=$db->delete('users',$uid);
if($res>0){
$lists=$db->getALL('users');
$smarty->assign('lists',$lists);
$smarty->display('list.html');
}else{
echo false;
}
?>
以上這篇ajax實(shí)現(xiàn)改變狀態(tài)和刪除無刷新的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- jquery ajax 局部無刷新更新數(shù)據(jù)的實(shí)現(xiàn)案例
- 淺談Ajax技術(shù)實(shí)現(xiàn)頁面無刷新
- PHP+ajax 無刷新刪除數(shù)據(jù)
- ajax實(shí)現(xiàn)頁面加載和內(nèi)容刪除