效果狀態:通過點擊鎖定狀態實現狀態鎖定與不鎖定之間的切換

1.主程序:01.php導入smarty和mysql類,取得數據導入列表模板
?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.列表模板采用smarty遍歷模板數據并顯示,其中調用ajax改變鎖定狀態
!DOCTYPE html>
html>
head>
meta charset=utf-8>
title>用戶權限展示表/title>
/head>
body>
table align="center" border="1" width="500">
center>h2>用戶權限表/h2>/center>
tr>
th>uid/th>th>用戶名/th>th>密碼/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}
/tr>
{/foreach}
/table>
/body>
script type="text/javascript">
function lock(lock,uid){
//創建ajax對象
var xhr=new XMLHttpRequest();
//打開一個鏈接
xhr.open('get','02.php?is_lock='+lock+"uid="+uid);
//發送ajax請求
xhr.send(null);
//設置回調、監聽函數
xhr.onreadystatechange=function(){
//如果ajax狀態碼響應正常且網絡正常,獲取響應文本
if(xhr.readyState==4xhr.status==200){
if(xhr.responseText){
window.location.reload();
}else{
alert("切換狀態失敗!");
}
}
}
}
/script>
/html>
3.ajax響應腳本,接收ajax通過get方式傳遞過來的數據更改數據庫內容并響應文本傳回js腳本
?php
include './include/Mysql.class.php';
$lock=$_GET['is_lock'];
$uid=$_GET['uid'];
$db=new Mysql;
$result=$db->update('users',"is_lock=$lock","uid=$uid");
if($result){
echo true;
}else{
echo false;
}
?>
以上這篇ajax結合mysql數據庫和smarty實現局部數據狀態的刷新方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Ajax+smarty技術實現無刷新分頁
- php+ajax實現無刷新動態加載數據技術
- php+mysql結合Ajax實現點贊功能完整實例