左側のレコード数が $space (ページ番号セクション) の値より小さい場合、ページ番号 $start は 1 から右に増加します。左側のレコード数が $left の値 (左右に表示されるページ数) より大きい場合、$start は左側のレコード数から $left の値を減算してカウントを開始します。
コードをコピー コードは次のとおりです:
/**類似商品のページめくりを実現 **/
クラス ページャー
{
protected $space;
protected $DB;
public function setSpace( $num) {
$this->space = $num;
$this->left = ceil(($num-1)/2);
function setDB( &$db) {
$this->DB = $db;
public function setPageName($pageName) {
$this->pageName = $ pageName;
}
public function getPages($catid, $exptime) {
$fields = array("`id`,`title`"); "> " =>array("exptime"=>$exptime)、"memberid" => gs(_MEM_PREFIX_ . "memberid")、"catid"=>$catid); array(" <" => array("exptime"=>$exptime), "memberid" => gs(_MEM_PREFIX_ . "memberid"), "catid"=>$catid); 🎜>$ leftCount = $this->DB->getCount($left);
if($leftCount <= $this->left) {
$star = 1; 🎜>$ leftLimit = "LIMIT" . $leftCount;
$rightLimit = "LIMIT " . ($this->space-$leftCount);
else {
$start = $ leftCount - $this->left;
$leftLimit = "LIMIT " . $this->left;
$list1; -> DB->findAll($left, array("exptime"=>"ASC"), $leftLimit, $fields);
$list2 = $this->DB->findAll($) right, array ("exptime"=>"DESC"), $rightLimit, $fields);
/**前のページへのリンク **/
$c = count($list1); >if( $c > 1) {
$url = $this->pageName."-".$list1[$c]['id'].".html"; "< a href="{$url}">前のページ