$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;
?>
pagination.js文件
代码如下
复制代码
function $()
{
var elements = new array();
for (var i = 0; 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
代码如下
复制代码
/*
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 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 = "