<?
//分页控制类
//宇凡 8月15日
?>
<?
class PageControl
{
var $PageAmount; //总页数
var $RecordAmount; //总记录数
var $Page; //当前页码
var $RecordRow_Per_aPage = 10; //每页显示的记录条数,事先预定,不通过程序更改
var $NextPage; //下一页的页码
var $PriorPage; //上一页的页码
var $StartIndex; //相当于每页显示的起始位置的索引
var $UsingIndex; //当前使用的数据的索引
var $arrIDList; //保存ID的数组function pagecontrol($IDList,$PageNow)
{
if (($PageNow == "") || (round($PageNow) == 0))
{
$PageNow=1;
}
$this->arrIDList = $IDList;
$this->Page = $PageNow;
$this->RecordAmount = count($IDList); if ($this->RecordAmount % $this->RecordRow_Per_aPage == 0) {
$this->PageAmount = $this->RecordAmount / $this->RecordRow_Per_aPage;
} else {
$this->PageAmount = round($this->RecordAmount / $this->RecordRow_Per_aPage);
}
$this->StartIndex = ($this->Page - 1) * $this->RecordRow_Per_aPage;
$this->UsingIndex = $this->StartIndex - 1; //这里减一的目的:得到数据的普遍方法是先Next()再Get数据,比如数据集. if ($this->Page != $this->PageAmount) {
$this->NextPage = $this->Page + 1;
} else {
$this->NextPage = $this->PageAmount;
} if ($this->Page != 1) {
$this->PriorPage = $this->Page - 1;
} else {
$this->PriorPage = 1;
}
}function next_record()
{
$result = false;
if (($this->UsingIndex != $this->RecordAmount - 1) && ($this->UsingIndex - $this->StartIndex < 9)) {
$this->UsingIndex += 1;
$result = true;
} else {
$result = false;
}
return $result;
}function get()
{
$result = $this->arrIDList[$this->UsingIndex];
return $result;
}function show_FirstLink()
{
echo " <a href=".$PHP_SELF."?p=1>最前页</a> ";
}function show_PriorLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->PriorPage.">上一页</a> ";
}function show_NextLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->NextPage.">下一页</a> ";
}function show_LastLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->PageAmount.">最后页</a> ";
}function show_JumpForm()
{
echo "<FORM METHOD=POST ACTION=".$PHP_SELF.">直接到<INPUT TYPE=text NAME=p size=2 class=input>页 <INPUT TYPE=submit value=GOGOGO class=bottem></FORM>";
}}
?>
//分页控制类
//宇凡 8月15日
?>
<?
class PageControl
{
var $PageAmount; //总页数
var $RecordAmount; //总记录数
var $Page; //当前页码
var $RecordRow_Per_aPage = 10; //每页显示的记录条数,事先预定,不通过程序更改
var $NextPage; //下一页的页码
var $PriorPage; //上一页的页码
var $StartIndex; //相当于每页显示的起始位置的索引
var $UsingIndex; //当前使用的数据的索引
var $arrIDList; //保存ID的数组function pagecontrol($IDList,$PageNow)
{
if (($PageNow == "") || (round($PageNow) == 0))
{
$PageNow=1;
}
$this->arrIDList = $IDList;
$this->Page = $PageNow;
$this->RecordAmount = count($IDList); if ($this->RecordAmount % $this->RecordRow_Per_aPage == 0) {
$this->PageAmount = $this->RecordAmount / $this->RecordRow_Per_aPage;
} else {
$this->PageAmount = round($this->RecordAmount / $this->RecordRow_Per_aPage);
}
$this->StartIndex = ($this->Page - 1) * $this->RecordRow_Per_aPage;
$this->UsingIndex = $this->StartIndex - 1; //这里减一的目的:得到数据的普遍方法是先Next()再Get数据,比如数据集. if ($this->Page != $this->PageAmount) {
$this->NextPage = $this->Page + 1;
} else {
$this->NextPage = $this->PageAmount;
} if ($this->Page != 1) {
$this->PriorPage = $this->Page - 1;
} else {
$this->PriorPage = 1;
}
}function next_record()
{
$result = false;
if (($this->UsingIndex != $this->RecordAmount - 1) && ($this->UsingIndex - $this->StartIndex < 9)) {
$this->UsingIndex += 1;
$result = true;
} else {
$result = false;
}
return $result;
}function get()
{
$result = $this->arrIDList[$this->UsingIndex];
return $result;
}function show_FirstLink()
{
echo " <a href=".$PHP_SELF."?p=1>最前页</a> ";
}function show_PriorLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->PriorPage.">上一页</a> ";
}function show_NextLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->NextPage.">下一页</a> ";
}function show_LastLink()
{
echo " <a href=".$PHP_SELF."?p=".$this->PageAmount.">最后页</a> ";
}function show_JumpForm()
{
echo "<FORM METHOD=POST ACTION=".$PHP_SELF.">直接到<INPUT TYPE=text NAME=p size=2 class=input>页 <INPUT TYPE=submit value=GOGOGO class=bottem></FORM>";
}}
?>
require("inc/PageControl.inc"); for ($i=0;$i<95;$i++)
{
$int[$i]=$i*$i-$i;
}
$aCtrl = new PageControl($int,$p);
/*echo "总页数 ";
echo $aCtrl->PageAmount;
echo "<br>";
echo "总记录数 ";
echo $aCtrl->RecordAmount;
echo "<br>";
echo "当前页码 ";
echo $aCtrl->Page;
echo "<br>";
echo "下一页的页码 ";
echo $aCtrl->NextPage;
echo "<br>";
echo "上一页的页码 ";
echo $aCtrl->PriorPage;
echo "<br>";
echo "该页显示的起始位置的索引 ";
echo $aCtrl->StartIndex;
echo "<br>";
echo "<br>";
echo "<br>";*/ echo "<font size=2>共有<font color=f24f00>".$aCtrl->RecordAmount."</font>条记录 <font color=f24f00>".$aCtrl->Page."</font>/".$aCtrl->PageAmount."<br><br>";
while ($aCtrl->next_record())
{
$UsingIndex=$aCtrl->UsingIndex+1;
echo "第<font color=f24f00>".$UsingIndex."</font>条记录: ";
echo "<font color=f24f00>".$aCtrl->get()."</font>";
echo "<br>";
}
echo "<br>";
$aCtrl->show_FirstLink();
$aCtrl->show_PriorLink();
$aCtrl->show_NextLink();
$aCtrl->show_LastLink();
$aCtrl->show_JumpForm();
?>
select * from mytable limit jd,dbcount
'jd为查询开始的记录数,dbcount为要读出的数据数量
通过循环:jd=jd+dbcount