smarty分頁

  <?php
require_once('include/common.inc.php');
//這裏是個接口common.inc.php裏面包函了一些常用到的函數類庫以及 Smarty
include_once('header.php');
//調用頭部信息,SESSION的信息全都保存在這裏,這樣做的好處是幾乎所有的頁面都不需要在開頭輸入session_start();
$smarty = new Smarty_Calvin;
//調用這個對象
$smarty->caching = false;
//不使用緩存
$swe = "SET NAMES gb2312;";
//如果是使用MYSQL5的數據庫的話,這樣做是非常必要的。要不然極易出現亂碼
  mysql_query($swe
);
  
//下面是數據庫的關聯查找,將得到數據庫中的記錄
  $sqle = 
"SELECT calvin.did,calvin.title,calvin.voidbulk,calvin.databulk,
                  calvin.place,calvin.price,calvin.line,calvin.explan,
                  calvin.identify,
                  idcof_extend.identify,idcof_extend.pid,idcof_extend.pid,idcof_extend.start,idcof_extend.end,idcof_extend.taxis
          FROM    calvin,extend
          WHERE   calvin.identify = idcof_extend.identify
          AND     calvin.did = extend.pid
          ORDER BY  extend.taxis DESC"

  $resulte = mysql_query($sqle) or die(mysql_error
());
  $ie= mysql_num_rows($resulte);
//得到結果集的數量
   //把結果集存到 Smarty可以用的數組中
   while(($rowe=mysql_fetch_array($resulte)) && $ie > 0
)
   {
      $arraye[] = array("dide"=>$rowe["did"],"titlee"=>$rowe["title"],"voidbulke"=>$rowe['voidbulk'],"databulke"=>$rowe['databulk'
],
                       "placee"=>$rowe['place'],"linee"=>$rowe['line'],"pricee"=>$rowe["price"],"explane"=>cutstr($rowe["explan"],180));
//cutstr這個函數是自定義的,從common.inc.php而來
      $ie
--;
   }
   $smarty->assign('arraye',$arraye);
//把數組指向模板
//下面的部分是本教程的重點。
   // get_template_vars返回一個指定的已賦值的模板變量的值
$smartyArr = $smarty->get_template_vars
();
        
//print_R($smartyArr);
        //記錄總數,每頁顯示記錄條數,總頁數
        $pager_Total = count($smartyArr);
//總記錄數
        //echo $pager_Total;
        $pager_Size = 10;
//設定每頁顯示的記錄數
        $pager_Number = ceil($pager_Total/$pager_Size);
//得到總頁數,如果有小時就進一步取整
        $pager_URL = "dummyhost.php?action=View"
;
        
        
//獲得當前頁的頁數,從REQUEST獲得
        if(isset($_GET['pager_PageID'])&& !empty($_GET['pager_PageID'
])){
            $pager_PageID = intval($_GET['pager_PageID'
]);
        }else{
            
//如果是第一次訪問,則設定當前頁爲第一頁
            $pager_PageID = 1
;
        }          

        
//每頁的起,始記錄數
        //如果當前頁是第一頁,則記錄是從第0條記錄開始的
        if ($pager_PageID == 1 
) {
            $pager_StartNum = 0
;
        
//如果當前頁不是第一頁,則記錄是從當前的頁數減去1乘以每頁的顯示記錄數開始的    
        
} else {
             $pager_StartNum = ($pager_PageID -1) * $pager_Size
;
        }    
        
//當前頁的結束記錄數是起始記錄數加上每頁的顯示記錄數
        $pager_EndNum = $pager_StartNum + $pager_Size
;
        
//如果當前頁是第一頁,且總頁數大於1
        if ($pager_PageID == 1 && $pager_Number>1
) {
            
//第一頁
            $pager_Links = "上一頁 | <a href=".$pager_URL."&pager_PageID=".($pager_PageID+1).">下一頁</a>"
;
        
//否則如果當前頁是最後一頁,且總頁數大於1    
        } elseif($pager_PageID == $pager_Number && $pager_Number>1
) {
            
//最後一頁
             $pager_Links = "<a href=".$pager_URL."&pager_PageID=".($pager_PageID-1).">上一頁</a> | 下一頁"
;
        
//否則如果當前頁不是第一頁,且當前頁小於等於最後一頁     
        } elseif ($pager_PageID > 1 && $pager_PageID <= $pager_Number
) {
            
//中間
             $pager_Links = "<a href=".$pager_URL."&pager_PageID=".($pager_PageID-1).">上一頁</a> | <a href=".$pager_URL."&pager_PageID=".($pager_PageID+1).">下一頁</a>"
;
        
//否則
        
} else {
             $pager_Links = "上一頁 | 下一頁"
;
        }
        
        $smarty->assign('search','dummyhost_search.php'
);  
        include_once('dummyhost_ad.php'
);
         
        $smarty->assign('pager_Total',$pager_Total
);        
        $smarty->assign('pager_StartNum',$pager_StartNum
);
        $smarty->assign('pager_EndNum',$pager_EndNum
);
        $smarty->assign('pager_Links',$pager_Links
);
        $smarty->display("dummyhost.tpl"
);       
        include_once('footer.php'); ?> 

發佈了38 篇原創文章 · 獲贊 6 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章