Smarty分頁實現(xiàn)方法完整實例

字號:


    這篇文章主要介紹了Smarty分頁實現(xiàn)方法,涉及基于Smarty的數(shù)據(jù)庫查詢、分頁相關(guān)計算與模板操作技巧,需要的朋友可以參考下
    首先是PHP文件部分:
    <?php
    require("include.php"); //包含smarty配置部分
    require 'conn.php'; //包含數(shù)據(jù)庫配置部分
    $pagesize=10; //設(shè)置每頁數(shù)據(jù)顯示數(shù)量
    $url=$_SERVER['REQUEST_URI'];
    $url=parse_url($url);
    $url=$url['path'];
    $sql="SELECT * FROM `wp_links`";
    $db_list=mysql_query($sql);
    $num=mysql_num_rows($db_list); //統(tǒng)計數(shù)據(jù)總數(shù)
    $pages=$num/$pagesize;
    $pages=ceil($pages); //求出一共需要多少頁進(jìn)行顯示
    if ($_GET['page']){
     $pageval=$_GET['page'];
     $page=($pageval-1)*$pagesize;
     }
    if($num>$pagesize){
     if (!isset($pageval)) $pageval=1;
    }
    if ($pages==1){ //如果總頁面只有一頁的話,將“上一頁”“下一頁”的標(biāo)簽替換為空。
     $pageup="";
     $pagedown="";
    }else{
    switch($pageval){
     case 1 :{
     $pageup="首頁";
     $pagedown="<a href=$url?page=".($pageval+1).">下一頁</a>";
     break;
     }
     default :{
     $pageup="<a href=$url?page=".($pageval-1).">上一頁</a>";
     $pagedown="<a href=$url?page=".($pageval+1).">下一頁</a>";
       break;
     }
     case $pages :{
     $pageup="<a href=$url?page=".($pageval-1).">上一頁</a>";
     $pagedown="末頁";
     break;
      }
    }
    }$smarty->assign("pageconfig",$pageconfig);
    //==================================================
    $sql_list="SELECT * FROM `wp_links` LIMIT $page,$pagesize";    //由此控制數(shù)據(jù)顯示數(shù)量部分
    $db_list_list=mysql_query($sql_list);
    while($row=mysql_fetch_array($db_list_list)){
     $page_list[]=array("id"=>$row['link_id'],"url"=>$row['link_url'],"name"=>$row['link_name']);   //將數(shù)據(jù)庫中查詢內(nèi)容重新賦值
    }
    $pageconfig="當(dāng)前第 $pageval 頁,共 $pages 頁";
    $smarty->assign("pageconfig",$pageconfig);
    $smarty->assign("pageup",$pageup);
    $smarty->assign("pagedown",$pagedown);
    $smarty->assign("title",$page_list);
    $smarty->display("index.htm");
    ?>
    下面為模板的編寫部分:
    <table>
     <tr>
     <td>id</td>
     <td>url</td>
     <td>name</td>
     </tr>
    {section name=list loop=$title}
     <tr>
     <td>{$title[list].id}</td>
     <td>{$title[list].url}</td>
     <td>{$title[list].name}</td>
     </tr>
    {/section}
     </table>
    {$pageup}{$pagedown}{$pageconfig}
    希望本文所述對大家基于smarty模板的PHP程序設(shè)計有所幫助。