关于分页类的疑问 我有个类似的问题:为什么要用分页函数?直接用一段代码,COPY过来,COPY过去不也可以么?用函数很麻烦还要跟参数才能使用。----------------呵呵,开玩笑,道理差不多,体会体会~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人觉得,如果你只需要输出一个值的话,那用函数也可以.如果需要输出多个值的话,还是用类好一点.其实,何必在意是类还是函数???能写出简洁有效的代码就可以了.我们还用小米加步枪打败了.X...X....X呢....赢了才是好汉 我们还用小米加步枪打败了.X...X....X呢....但是如果能有飞机大炮不是更好么 <?class page{ /* 分页类 zonwen Wong 2004-1-5 PM */ var $total_RecordNum = 0; var $curr_PageNum = 1; var $limit_Num = 21; var $total_Pages = 1; var $startRecord = 1; var $endRecord = 20; var $thisPageRecords = 0; var $queryString = ""; /* function page($totalRecordNum, $limit, $pagenum = 1) { $this->setLimit($limit); $this->setTotalRecordNum($totalRecordNum); $this->setCurrPageNum($pagenum); $this->computePage(); } */ function page($totalRecordNum, $limit, $pagenum = 0) { $this->setLimit($limit); $this->setTotalRecordNum($totalRecordNum); if($pagenum !=0) $this->setCurrPageNum($pagenum); else $this->setCurrPageNum($_REQUEST[pageNum]); $this->computePage(); } function computePage() { $this->total_Pages = ceil($this->total_RecordNum / $this->limit_Num); if ($this->curr_PageNum > $this->total_Pages) $this->curr_PageNum = $this->total_Pages; if ($this->total_Pages == 0) { $this->startRecord = 0; $this->endRecord = 0; $this->thisPageRecords = 0; $this->total_Pages = 1; $this->curr_PageNum = 1; } else { $this->startRecord = $this->limit_Num * ($this->curr_PageNum - 1) + 1; if ($this->curr_PageNum < $this->total_Pages) { $this->endRecord = $this->curr_PageNum * $this->limit_Num; $this->thisPageRecords = $this->limit_Num; } else { $this->endRecord = $this->total_RecordNum; $this->thisPageRecords = $this->total_RecordNum - ($this->curr_PageNum-1) * $this->limit_Num; } } } function setLimit($Num) { if ($Num > 0 && (int)$Num == $Num) $this->limit_Num = $Num; } function setTotalRecordNum($Num) { if ($Num > 0 && (int)$Num == $Num) $this->total_RecordNum = $Num; } function setCurrPageNum($Num) { if ($Num > 0 && (int)$Num == $Num) $this->curr_PageNum = $Num; } function setQueryString($string) { $this->queryString = $string; } function getStartRecord() { return $this->startRecord; } function getEndRecord() { return $this->endRecord; } function getCurrPageNum() { return $this->curr_PageNum; } function getThisPageRecords() { return $this->thisPageRecords; } function getTotalPages() { return $this->total_Pages; } function getLimit() { return $this->limit_Num; } function getTotalRecordNum() { return $this->total_RecordNum; } function getQueryString() { return $this->queryString; } function listPages() { for($i =1; $i<=$this->getTotalPages(); $i++) { if($i == $this->getCurrPageNum()) echo "<font color=\"#FF0000\"><strong>".$i."</strong></font> "; else echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".$i."&".$this->getQueryString()."\">$i</a> "; } } function pageText() { echo "¹²".$this->getTotalRecordNum()."Ìõ¼Ç¼£¬·Ö".$this->getTotalPages()."Ò³£¬Ã¿Ò³ÏÔʾ".$this->getLimit()."Ìõ¼Ç¼ ĿǰΪµÚ".$this->getCurrPageNum()."Ò³"; } function PreviousNext() { if($this->getCurrPageNum()>1) echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=1&".$this->getQueryString()."\">Ê×Ò³</a> "; else echo "Ê×Ò³ "; if($this->getCurrPageNum()>1) echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".($this->getCurrPageNum()-1)."&".$this->getQueryString()."\">ÉÏÒ»Ò³</a> "; else echo "ÉÏÒ»Ò³ "; if($this->getCurrPageNum()<$this->getTotalPages()) echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".($this->getCurrPageNum()+1)."&".$this->getQueryString()."\">ÏÂÒ»Ò³</a> "; else echo "ÏÂÒ»Ò³ "; if($this->getCurrPageNum()<$this->getTotalPages()) echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".$this->getTotalPages()."&".$this->getQueryString()."\">βҳ</a> "; else echo "βҳ "; } function goToPage() { echo "<form name=\"gotopage\" method=\"post\" action=\"".$_SERVER[PHP_SELF]."?".$this->getQueryString()."\"> תµ½µÚ <input name=\"pageNum\" type=\"text\" id=\"pageNum\" size=\"3\" value=\"".$this->getCurrPageNum()."\"> Ò³ <a href=\"javascript:gotopage.submit()\">go</a></form>"; }}/*//example$page = new page(90, 3);$page->setQueryString("aa=$aa&b=$b&c=$c");$page->listPages();echo "<hr>";$page->PreviousNext();echo "<hr>";$page->pageText();echo "<hr>";$page->goToPage();*/?> syre(神仙) 上面一贴,明白了。用类是从扩展性上考虑的是吧。那句“用函数,你不能方便的设置参数的默认值”不敢苟同。函数也可以,在function a($var=a)这里就可以设置。 最近正想写个结合smarty的分页类 没所谓了。扣分有什么大惊小怪的。谁让我兴趣广泛呢。下山容易上山难,就是这个道理。我上网这么久,尤其上论坛,被封过几百次都不止了,所幸还有26个弟兄轮流用。楼上恭喜啊,四颗星了,你的星和信誉成正比的,我的正好反着。你的话虽然不是狠明白,不过大体了解了。 feixuehenshui(飞雪恨水) ,等你好消息啊,正好想找个这样的类用。 各位大大一起来帮忙看一下! 如何实现不同的地方用户显示不同内容 分页代码怎么老是出现警告,达人们进来看看代码.... php与表单的问题 请教高手,谁能给我一本PHP入门的书, 关于zendstudio中文显示乱码问题 请教高手,如何让redhat as4中自带的php支持mysql 请大家推荐几个好的PHP学习资源站点 文件操作问题,翻遍了手册也没找到答案。请高手指教。 Php反斜杠问题 新项目用php/oracle,小弟刚开始接触,不知道从何下手 当一个长时间运行的服务器端脚本,客户关闭浏览器,服务器脚本会强制被停止执行么?
如果需要输出多个值的话,还是用类好一点.其实,何必在意是类还是函数???能写出简洁有效的代码就可以了.
我们还用小米加步枪打败了.X...X....X呢....赢了才是好汉
但是如果能有飞机大炮不是更好么
class page
{
/*
分页类 zonwen Wong 2004-1-5 PM
*/ var $total_RecordNum = 0;
var $curr_PageNum = 1;
var $limit_Num = 21;
var $total_Pages = 1;
var $startRecord = 1;
var $endRecord = 20;
var $thisPageRecords = 0;
var $queryString = ""; /*
function page($totalRecordNum, $limit, $pagenum = 1)
{
$this->setLimit($limit);
$this->setTotalRecordNum($totalRecordNum);
$this->setCurrPageNum($pagenum);
$this->computePage();
}
*/
function page($totalRecordNum, $limit, $pagenum = 0)
{
$this->setLimit($limit);
$this->setTotalRecordNum($totalRecordNum);
if($pagenum !=0)
$this->setCurrPageNum($pagenum);
else
$this->setCurrPageNum($_REQUEST[pageNum]);
$this->computePage();
}
function computePage()
{
$this->total_Pages = ceil($this->total_RecordNum / $this->limit_Num);
if ($this->curr_PageNum > $this->total_Pages)
$this->curr_PageNum = $this->total_Pages;
if ($this->total_Pages == 0)
{
$this->startRecord = 0;
$this->endRecord = 0;
$this->thisPageRecords = 0;
$this->total_Pages = 1;
$this->curr_PageNum = 1;
}
else
{
$this->startRecord = $this->limit_Num * ($this->curr_PageNum - 1) + 1;
if ($this->curr_PageNum < $this->total_Pages)
{
$this->endRecord = $this->curr_PageNum * $this->limit_Num;
$this->thisPageRecords = $this->limit_Num;
}
else
{
$this->endRecord = $this->total_RecordNum;
$this->thisPageRecords = $this->total_RecordNum - ($this->curr_PageNum-1) * $this->limit_Num;
}
}
}
function setLimit($Num)
{
if ($Num > 0 && (int)$Num == $Num)
$this->limit_Num = $Num;
} function setTotalRecordNum($Num)
{
if ($Num > 0 && (int)$Num == $Num)
$this->total_RecordNum = $Num;
} function setCurrPageNum($Num)
{
if ($Num > 0 && (int)$Num == $Num)
$this->curr_PageNum = $Num;
} function setQueryString($string)
{
$this->queryString = $string;
} function getStartRecord()
{
return $this->startRecord;
} function getEndRecord()
{
return $this->endRecord;
} function getCurrPageNum()
{
return $this->curr_PageNum;
} function getThisPageRecords()
{
return $this->thisPageRecords;
} function getTotalPages()
{
return $this->total_Pages;
}
function getLimit()
{
return $this->limit_Num;
}
function getTotalRecordNum()
{
return $this->total_RecordNum;
}
function getQueryString()
{
return $this->queryString;
}
function listPages()
{
for($i =1; $i<=$this->getTotalPages(); $i++)
{
if($i == $this->getCurrPageNum())
echo "<font color=\"#FF0000\"><strong>".$i."</strong></font> ";
else
echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".$i."&".$this->getQueryString()."\">$i</a> ";
}
} function pageText()
{
echo "¹²".$this->getTotalRecordNum()."Ìõ¼Ç¼£¬·Ö".$this->getTotalPages()."Ò³£¬Ã¿Ò³ÏÔʾ".$this->getLimit()."Ìõ¼Ç¼ ĿǰΪµÚ".$this->getCurrPageNum()."Ò³";
} function PreviousNext()
{
if($this->getCurrPageNum()>1)
echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=1&".$this->getQueryString()."\">Ê×Ò³</a> ";
else
echo "Ê×Ò³ "; if($this->getCurrPageNum()>1)
echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".($this->getCurrPageNum()-1)."&".$this->getQueryString()."\">ÉÏÒ»Ò³</a> ";
else
echo "ÉÏÒ»Ò³ "; if($this->getCurrPageNum()<$this->getTotalPages())
echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".($this->getCurrPageNum()+1)."&".$this->getQueryString()."\">ÏÂÒ»Ò³</a> ";
else
echo "ÏÂÒ»Ò³ "; if($this->getCurrPageNum()<$this->getTotalPages())
echo "<a href=\"".$_SERVER[PHP_SELF]."?pageNum=".$this->getTotalPages()."&".$this->getQueryString()."\">βҳ</a> ";
else
echo "βҳ "; } function goToPage()
{
echo "<form name=\"gotopage\" method=\"post\" action=\"".$_SERVER[PHP_SELF]."?".$this->getQueryString()."\">
תµ½µÚ
<input name=\"pageNum\" type=\"text\" id=\"pageNum\" size=\"3\" value=\"".$this->getCurrPageNum()."\">
Ò³ <a href=\"javascript:gotopage.submit()\">go</a>
</form>";
}
}/*
//example
$page = new page(90, 3);
$page->setQueryString("aa=$aa&b=$b&c=$c");
$page->listPages();
echo "<hr>";
$page->PreviousNext();
echo "<hr>";
$page->pageText();
echo "<hr>";
$page->goToPage();
*/?>
那句“用函数,你不能方便的设置参数的默认值”不敢苟同。函数也可以,在function a($var=a)这里就可以设置。
下山容易上山难,就是这个道理。我上网这么久,尤其上论坛,被封过几百次都不止了,所幸还有26个弟兄轮流用。
楼上恭喜啊,四颗星了,你的星和信誉成正比的,我的正好反着。
你的话虽然不是狠明白,不过大体了解了。 feixuehenshui(飞雪恨水) ,等你好消息啊,正好想找个这样的类用。