php ajax实现分页效果
<meta charset=’utf-8′>
<script src=” http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js ” type=”text/javascript”/></script>
<script type=”text/javascript”>
//獲取當前url地址,主要是獲取page參數,為了不實現跳轉在分頁中采用了錨點連接的方式
var url=location.href;
uarr=url.indexOf(‘#’);
npage=url.substr(uarr 6);
if(!npage)npage=1;
jQuery(function(){
?$.ajax({
???? type: “POST”,
???? url: “ajax.php”,
???? dataType:’json’,//由于ajax返回值是數組,所以在php腳本中經過json編碼
???? data: “page=” npage,
???? success: function(msg){
???? $(‘#post_result’).html(msg.page_content);
???? $(‘#navipage’).html(msg.page_list);
???? }
??});
})
function url_go(page){
?$.ajax({
???? type: “POST”,
???? url: “ajax.php”,
???? dataType:’json’,
???? data: “page=” page,
???? success: function(msg){
???? $(‘#post_result’).html(msg.page_content);
???? $(‘#navipage’).html(msg.page_list);
???? }
??});?
?
}
?
</script>
<div id=post_result>
</div>
<div id=navipage>
</div>
————————————————————-
ajax.php【這里是生成數據和分頁的代碼】:
<?php
$host=”localhost”;
$user=”root”;
$pwd=”root”;
$dbname=”test”;
$link = mysql_connect($host, $user, $pwd)or die(“Could not connect: ” . mysql_error());
mysql_select_db($dbname, $link) or die (‘Can\’t use test : ‘ . mysql_error());
mysql_query(“SET NAMES ‘utf8′”);
mysql_query(“SET CHARACTER_SET_CLIENT=utf8″);
mysql_query(“SET CHARACTER_SET_RESULTS=utf8″);
//分頁設置
$page=$_REQUEST['page']?$_REQUEST['page']:1;
//設置每頁顯示多好條記錄
$page_size=2;
//設置limit偏量
$off=($page-1)*$page_size;
//獲取總記錄數
$sql_all=”select * from user order by id desc”;
$all_res=mysql_query($sql_all);
$total_all=mysql_num_rows($all_res);
//計算頁面總數,注意鍵名,當然你也可以使用數字下標
$page_num=ceil($total_all/$page_size);
//讀取當前頁記錄數
$sql_page=”select * from user order by id desc limit $off,$page_size”;
$page_res=mysql_query($sql_page);
while ($arr=mysql_fetch_array($page_res)){
?$ajax_arr['page_content'].=’id:’.$arr['id'].’<br>user:’.$arr['user'].’<br><hr>’;
}
for($i=1;$i<=$page_num;$i ){
?if($i==$page){
?$ajax_arr['page_list'].=’<a href=#>
?}else{
?$ajax_arr['page_list'].=’<a href=#>
?}
}
//對數組進行json編碼,否則ajax無法獲取數組形式的返回值
echo json_encode($ajax_arr);
?>
——————————————————
這里是sql文件用來生成測試數據:
– phpMyAdmin SQL Dump
– version 3.3.9.2
– http://www.phpmyadmin.net
–
– 主機: localhost
– 生成日期: 2002 年 01 月 01 日 04:57
– 服務器版本: 5.5.9
– PHP 版本: 5.3.5
SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
–
– 數據庫: `test`
–
– ——————————————————–
–
– 表的結構 `user`
–
CREATE TABLE IF NOT EXISTS `user` (
? `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
? `user` varchar(6) NOT NULL,
? `pwd` varchar(30) NOT NULL,
? PRIMARY KEY (`id`)
) ENGINE=InnoDB? DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;
–
– 轉存表中的數據 `user`
–
INSERT INTO `user` (`id`, `user`, `pwd`) VALUES
(11, ‘測試2′, ‘測試2′),
(12, ‘測試1′, ‘測試1′),
(13, ‘測試3′, ‘測試3′),
(15, ‘測試4′, ‘測試4′),
(16, ‘測試5′, ‘測試5′),
(17, ’222′, ’111′),
(18, ’222a’, ’111a’);
——————————————-
下載本程序示例包:http://www.phptogether.com/download/ajaxpage.rar
示例包中含有源代碼和生成測試數據的sql文件。
ok,一個簡單的ajax分頁效果就到此結束了,如果有任何疑問或者更好的實現方式,請聯系站長哦!o(∩_∩)o ~~~。
轉載請注明:前端錄?php ajax實現分頁效果
<script src="http://www.wozhuye.com/index.php?m=digg&c=index&a=init&id=30-10-2"></script>總結
以上是生活随笔為你收集整理的php ajax实现分页效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js模版引擎handlebars.js实
- 下一篇: HTML5标签用法及描述