這里運用Smarty模板,更簡單
本文主要的技術(shù):AJAX,PHP,Smarty,另外自己封裝了一個很簡單的類
類:
(function(){
function $(id) {
return document.getElementById(id);
}
$.init=function() {
try{return new XMLHttpRequest();}catch(e){};
try{return new ActiveXObject('Microsoft.XMLHTTP');}catch(e){}
alert('請更換瀏覽器');
}
$.get=function (url,data,callback,type) {
var xhr = this.init();
url += '?' +new Date().getTime();
if(data!=null){
url += ''+data;
}
xhr.open('get',url);
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 xhr.status == 200){
if(type==null){
callback(xhr.responseText);
}
if(type == 'text'){
callback(xhr.responseText);
}
if(type == 'xml'){
callback(xhr.responseXML);
}
if(type == 'json'){
callback(eval("("+xhr.responseText+")"));
}
}
}
xhr.send(null);
}
$.post = function (url,data,callback,type) {
var xhr = this.init();
xhr.open('post',url);
xhr.setRequestHeader('Content-Type','Application/x-www-form-urlencoded');
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 xhr.status == 200){
if(type==null){
callback(xhr.responseText);
}
if(type == 'text'){
callback(xhr.responseText);
}
if(type == 'xml'){
callback(xhr.responseXML);
}
if(type == 'json'){
callback(eval("("+xhr.responseText+")"));
}
}
};
xhr.send(data);
}
類很簡單,不介紹了
HTML:
window.onload=function () {
init(2);
}
function del(id,p){
$.get('del.php','id='+id,function(msg){
if(msg==1){
init(p);
}
})
}
function init(p) {
$.get('page.php','page='+p,function(msg){
$('result').innerHTML=msg;
});
}
PHP:
?php
header('content-type:text/html;charset=utf-8');
mysql_connect('localhost','root','root');
mysql_select_db('db2');
mysql_query('set names utf8');
$re=mysql_query('select count(*) as num from catgory');
$hang=mysql_fetch_assoc($re);
$row1=$hang['num'];
$page=isset($_GET['page'])? $_GET['page']:1;
$pagesize=2;
$total=ceil($row1/$pagesize);
$prev=$page-1;
$next=$page+1;
if($prev1){$prev=1;}
if($next>$total){$next=$total;}
$offset = ($page-1)*$pagesize;
$result=mysql_query("select * from catgory limit ".$offset.','.$pagesize);
$ct=mysql_num_rows($result);
$data=array();
for($i=0;$i$ct;$i++){
$r=mysql_fetch_assoc($result);
$data[]=$r;
}
include('libs/Smarty.class.php');
$Smarty=new Smarty();
$Smarty->assign('data',$data);
$Smarty->assign('page',$page);
$Smarty->assign('pagesize',$pagesize);
$Smarty->assign('total',$total);
$Smarty->assign('prev',$prev);
$Smarty->assign('next',$next);
$Smarty->assign('row1',$row1);
$str=$Smarty->fetch('page.html');
echo $str;
Smarty:
table border="1" rules="all" width="600">
tr>
td>編號/td>
td>品牌/td>
td>pid/td>
td>刪除/td>
/tr>
{foreach from=$data item='value'}
tr>
td>{$value['id']}/td>
td>{$value['name']}/td>
td>{$value['pid']}/td>
td>a href="#", onclick="del({$value['id']},{$page})">刪除/td>
/tr>
{/foreach}
tr>
td colspan="3">
共{$total}頁
第{$page}頁
a href="#", onclick="init({$prev})">上一頁/a>
a href="#", onclick="init({$next})">下一頁/a>
a href="#", onclick="init(1)">第一頁/a>
a href="#", onclick="init({$total})">最末頁/a>
共{$row1}條數(shù)據(jù)
每頁{$pagesize}條數(shù)據(jù)
/td>
/tr>
/table>
要引入smary模板
以上所述是小編給大家介紹的Ajax+smarty技術(shù)實現(xiàn)無刷新分頁,希望對大家有所幫助!
您可能感興趣的文章:- smarty簡單分頁的實現(xiàn)方法
- Smarty變量用法詳解
- Smarty環(huán)境配置與使用入門教程
- PHP Smarty模版簡單使用方法
- Smarty安裝配置方法
- 在smarty中調(diào)用php內(nèi)置函數(shù)的方法
- ThinkPHP使用smarty模板引擎的方法
- Smarty結(jié)合Ajax實現(xiàn)無刷新留言本實例
- Smarty分頁實現(xiàn)方法完整實例