A5下载站:努力做内容最丰富最安全的下载站! 网站地图最新更新下载排行专题软件发布

热门软件

地铁跑酷

冒险迷岛

全民迷宫

连连消大作战

小河狸创客

阿里健康医鹿

支付宝app

番薯小说

MOMO陌陌

虾米音乐app

位置导航:A5下载 > 源码技巧 > 父类数据

ajax+php实现无刷新分页代码实例

时间:2015-06-03 17:18来源:未知作者:sa浏览:299
index.php代码如下: header(content-type: text/html; charset=utf-8); error_reporting(e_all^e_notice); include('pagination_class.php'); mysql_connect('localhost', 'root', '') or die(mysql_error()); mysql_select_db('mydemo'); mysql_query(set n……

 index.php代码如下:

header("content-type: text/html; charset=utf-8");

error_reporting(e_all^e_notice);

include('pagination_class.php');

mysql_connect('localhost', 'root', '') or die(mysql_error());

mysql_select_db('mydemo');

mysql_query("set names 'utf8'");

?>

<script language="javascript" src="pagination.js"></script>
<link rel="stylesheet" type="text/css" href="style.css" />

<?

$qry = "select * from students";

$searchtext = "";

if($_request['search_text']!=""){

$searchtext = $_request['search_text'];

$qry .=" where name like '$searchtext%'";

}

//for pagination

$starting=0;

$recpage = 2;//number of records per page

$obj = new pagination_class($qry,$starting,$recpage);
$result = $obj->result;

?><form name="form1" action="testpage.php" method="post">

<table border="1" align="center" width="40%">

<tr>

<td colspan="2">

search <input type="text" name="search_text" id="search_text" value="<?php echo $searchtext; ?>">

<input type="submit" value="search">

</td>

</tr>

<tr><td colspan="2">

<div id="page_contents">

<table border="1" align="center" width="100%">

<tr><td>sl no</td><td>name</td></tr>

<?if(mysql_num_rows($result)!=0){

$counter = $starting + 1;

while($data = mysql_fetch_array($result)) {?>

<tr>

<td><? echo $counter; ?></td>

<td><? echo $data['name']; ?></td>

</tr><?

$counter ++;

} ?>

<tr><td colspan="2"><? echo $obj->anchors; ?></td></tr>

<tr><td colspan="2"><? echo $obj->total; ?></td></tr>

<?}else{?>//开源代码www.bcty365.com

<tr><td align="center" colspan="2">no data found</td></tr>

<?}?>

</td></tr>

</table>

</div>

</td></tr>

</table></form>

pagination.js文件,代码如下:

function $()

{

var elements = new array();

for (var i = 0; i < arguments.length; i++)

{

var element = arguments[i];

if (typeof element == 'string')

element = document.getelementbyid(element);

if (arguments.length == 1)

return element;

elements.push(element);

}

return elements;

}

var xmlhttp

function pagination(page)

{

xmlhttp=getxmlhttpobject();

if (xmlhttp==null)

{

alert ("your browser does not support ajax!");

return;

}

var url="test_sub.php";

url = url+"?starting="+page;

url = url+"&search_text="+$('search_text').value;

url=url+"&sid="+math.random();

xmlhttp.onreadystatechange=statechanged;

xmlhttp.open("get",url,true);

xmlhttp.send(null);

}

function statechanged()

{

if (xmlhttp.readystate==4)

{

$("page_contents").innerhtml=xmlhttp.responsetext;

}

}

function getxmlhttpobject()

{

var xmlhttp=null;

try

{

// firefox, opera 8.0+, safari

xmlhttp=new xmlhttprequest();

}

catch (e)

{

// internet explorer

try

{

xmlhttp=new activexobject("msxml2.xmlhttp");

}

catch (e)

{

xmlhttp=new activexobject("microsoft.xmlhttp");

}

}

return xmlhttp;

}

pagination_class.php,代码如下:

<?php

/*

you can use it with out any worries...it is free for you..it will display the out put like:

first | previous | 3 | 4 | 5 | 6 | 7| 8 | 9 | 10 | next | last

page : 7 of 10 . total records found: 20

*/

class pagination_class{

var $result;

var $anchors;

var $total;

function pagination_class($qry,$starting,$recpage)

{

$rst = mysql_query($qry) or die(mysql_error());

$numrows = mysql_num_rows($rst);

$qry .= " limit $starting, $recpage";

$this->result = mysql_query($qry) or die(mysql_error());

$next = $starting+$recpage;

$var = ((intval($numrows/$recpage))-1)*$recpage;

$page_showing = intval($starting/$recpage)+1;

$total_page = ceil($numrows/$recpage);

if($numrows % $recpage != 0){

$last = ((intval($numrows/$recpage)))*$recpage;

}else{

$last = ((intval($numrows/$recpage))-1)*$recpage;

}

$previous = $starting-$recpage;

$anc = "<ul id='pagination-flickr'>";

if($previous < 0){

$anc .= "<li class='previous-off'>first</li>";

$anc .= "<li class='previous-off'>previous</li>";

}else{

$anc .= "<li class='next'><a href='网页特效:pagination(0);'>first </a></li>";

$anc .= "<li class='next'><a href='javascript:pagination($previous);'>previous </a></li>";
}

################if you dont want the numbers just comment this block###############
$norepeat = 4;//no of pages showing in the left and right side of the current page in the anchors
$j = 1;

$anch = "";

for($i=$page_showing; $i>1; $i--){
$fpreviouspage = $i-1;

$page = ceil($fpreviouspage*$recpage)-$recpage;
$anch = "<li><a href='javascript:pagination($page);'>$fpreviouspage </a></li>".$anch;

if($j == $norepeat) break;

$j++;

}

$anc .= $anch;

$anc .= "<li class='active'>".$page_showing."</li>";

$j = 1;

for($i=$page_showing; $i<$total_page; $i++){
$fnextpage = $i+1;

$page = ceil($fnextpage*$recpage)-$recpage;
$anc .= "<li><a href='javascript:pagination($page);'>$fnextpage</a></li>";

if($j==$norepeat) break;

$j++;

}

############################################################

if($next >= $numrows){

$anc .= "<li class='previous-off'>next</li>";

$anc .= "<li class='previous-off'>last</li>";

}else{

$anc .= "<li class='next'><a href='javascript:pagination($next);'>next </a></li>";

$anc .= "<li class='next'><a href='javascript:pagination($last);'>last</a></li>";

}

$anc .= "</ul>";

$this->anchors = $anc;

$this->total = "page : $page_showing <i> of </i>
$total_page . total records found: $numrows";

}

}

?>

数据库代码如下:

-- phpmyadmin sql dump

-- version 3.2.4

-- //开源代码www.bcty365.com
--

-- 主机: localhost

-- 生成日期: 2010 年 07 月 07 日 09:26

-- 服务器版本: 5.1.41

-- php 版本: 5.3.1

set sql_mode="no_auto_value_on_zero";

--

-- 数据库: `mydemo`

--

-- --------------------------------------------------------

--

-- 表的结构 `students`

--

create table if not exists `students` (

`id` int(11) not null auto_increment,

`name` varchar(50) not null default '',

primary key (`id`)

) engine=myisam default charset=utf8 auto_increment=21 ;

--

-- 转存表中的数据 `students`//开源代码www.bcty365.com
--

insert into `students` (`id`, `name`) values

(1, '小明'),

(2, 'aniesh'),

(3, 'babu'),

(4, '小黄'),

(5, 'praveesh'),

(6, 'dixon'),

(7, 'sanju'),

(8, 'neeraj'),

(9, 'siju'),

(10, 'noble'),

(11, 'bibin'),

(12, 'febin'),

(13, 'binu'),

(14, 'charles'),

(15, 'jaggu'),

(16, 'mani'),

(17, 'milu'),

(18, 'aravind'),

(19, 'jay'),

(20, 'hari');