>  기사  >  php教程  >  PHP 및 Smarty 템플릿 기술을 사용하여 정적 페이지 페이징을 위한 코드 생성

PHP 및 Smarty 템플릿 기술을 사용하여 정적 페이지 페이징을 위한 코드 생성

黄舟
黄舟원래의
2016-12-14 11:32:221240검색

lear_all_cache();//모든 캐시 지우기

//smarty.php
//html 파일 만들기 smarty 템플릿 사용
//Rossy.cn@gmial.com
//2007-07-27 11: 15

require_once("classes/Smarty.class.php"); //smarty文件
require_once("config.php"); //配置文件
require_once("mysql_class.php"); //数据库连接文件

$smarty = new Smarty();
$smarty->template_dir = "templates";
$smarty->compile_dir  ="templates_c";
$smarty->left_delimiter = "<{";
$smarty->right_delimiter ="}>";

$page_count = "3"; //每一页的记录数
$Db = new Mysql;
$query = $Db->Query("Select * FROM Tablea orDER BYId DESC");
$tatol = $Db- >FetchCount($query);
$pages = ceil($tatol / $page_count);
for ($j=1;$j<=$pages;$j++)
    $showpages.= "".$j."";

for ($i = 0;$i<$pages; $i++)
{   
    $start_page = $i *$page_count;   
    if($pages>1)
    {
       $indexpath  ="user_".($i+1).".htm";  //파일 이름
       $showpagestr= "第一页".$showpages." 最尾页";
    }
    else
    {
       $indexpath  = "user.htm"; //파일 이름
       $showpagestr= "";
    }
   
    $sql = "* FROM TableaorDER BY ID DESC LIMIT $start_page,$page_count";
    $query =$Db 선택 ->Query($sql) 또는 die("잘못된 쿼리");
   if(($Db->FetchCount($query))<1){
       $Admin ="數據庫沒有此數據";
    }else{
       while ($rs =$Db->FetchArray($query)) {
          $Admin[] =array('Id'=>$rs['Id' ],'이름'=>$rs['이름'],'닉'=>$rs['사용자 이름'],'유형'=>$rs['유형'],'이메일'=> $rs['Email']);
       }
    }

   $smarty->sign(array('Site_Name'=>"系统",'AdminName'=>'ybfqlyq ','AdminType'=>'관리자','유형'=>'1'));
   $smarty->ass('Admin',$Admin);
   $smarty-> 할당('Page_Str',$showpagestr);
    $temp =$smarty->fetch('test.tpl', null, null, false);//模板文件
    unset($Admin);
    $showpagestr = "";
   $fp=fopen($indexpath,'w');
    fwrite($fp,$temp) ordie('생성 실패');
}
$Db->Close();
echo "htm 파일을 성공적으로 생성했습니다";
?>

test.tpl文件代码:


< TITLE><{$SiteName}>
href ="templates/css.css" type=text/cssrel=stylesheet>



  


       
       
        
       
       
Example of create html file usesmarty template with php

      cellSpacing=0 cellPadding=2 width="100%"align=center border=1>
       
       
        

        
        
        
        
       
       <{sectionname=adminlist loop=$Admin}>1">
          <{$Admin[adminlist].Id}>
          <{$Admin[adminlist].Name}>
          <{$Admin[adminlist].Nick}>
          <{$Admin[adminlist].Type}>
        

       
       <{/section}>
       
        
編號用戶名姓名類別郵件地址
href="mailto:<{$Admin[adminlist].Email}>"><{$Admin[adminlist].Email}>
<{$Page_Str}>

     
       


       Powered by www.ybfq.com     Rossy'sblog:http://www.ybfq.com/blog


     

$smartyArr = $smarty->get_template_vars();
                                                                                                                                 ;
$pager_Size= 10;
$pager_Number = ceil($pager_Total/$pager_Size);
$pager_URL ="index.php ?action=View";

//현재 페이지 REQUEST에서 얻은 페이지 수
if(isset($_GET['pager_PageID'])&&!empty($_GET['pager_PageID'] )){
$pager_PageID = intval($_GET['pager_PageID' ]);
}else{
//첫 번째 방문
if ($pager_PageID == 1 ) {
$pager_StartNum = 0;
} else{
$pager_StartNum = ($pager_PageID -1) *$pager_Size;
} }
                                                                                    = $pager_StartNum + $pager_Size;

if($pager_PageID == 1 &&$pager_Number>1) {
".$pager_URL."&pager_PageID=".($pager_PageID+1).">다음 페이지";
          }elseif($pager_PageID = = $pager_Number&& $pager_Number>1){
               //마지막 페이지
                                                            ~ > $pager_Number) {
                                                                                                                                                 pager_PageID-1 ).">이전 페이지| 다음 페이지" ;
      } else{
             $pager_Links = "이전 페이지|다음 페이지";                                                   > $smarty->sign('pager_StartNum',$pager_StartNum) ;
$smarty->할당('pager_EndNum',$pager_EndNum);
);

return $ smarty- & gt; fetch ( "list.tpl"); = new Smarty();
$tpl->config_dir = __SITE_ROOT . "/configs/";
$tpl->cache_dir = __SITE_ROOT .
$tpl-> left_delimiter = '<{';
$tpl->right_delimiter = '}>'
?>


$page_count = "3"; //각 페이지의 레코드 수
$tatol=$aa->selectpage("news","","");
$pages = ceil($tatol / $page_count);

if($tatol<2)
{
echo "홈페이지/이전 페이지/다음 페이지/마지막 페이지";
}
if($tatol>2)
{
$p=2;
$e=0;
$name="홈 페이지 / 이전 페이지 / 다음 페이지/ 마지막 페이지";

for($pi=0;$pi<=$tatol;$pi++)
{
$start_page = $pi *$page_count;

if(($pi+1)%$page_count==0)
{
$p--;
//HTML 생성 page
echo "
".$name;

$sql ="선택 * FROM 뉴스 또는 DER BY ID DESC LIMIT$start_page,$page_count";
/ / $query =$ Db->Query($sql) or die("잘못된 쿼리");
$query=$aa->query($sql) ordie("sql 오류");
//if(( $Db->FetchCount($query))<1){
// $Admin = "데이터베이스에 이 데이터가 없습니다.";
// }else{
while ($ rs = mysql_fetch_array($query)) {
      $Admin[] =array('Id'=>$rs['Id'],'title'=>$rs['title'],'content' => ;$rs['content']);
}
//}

$tpl->할당(array('Site_Name'=>"System",'AdminName' => ;'ybfqlyq','AdminType'=>'관리자','유형'=>'1'));
$tpl->ass('Admin',$Admin);
$tpl ->할당('Page_Str',$name);
$temp =$tpl->fetch('test.tpl', null, null, false);//템플릿 파일
unset( $Admin );
///unset($name);
// $showpagestr = "";
$fp=fopen("news".$p.".html",'w' );
fwrite($fp,$temp) 또는 die('생성 실패');


$name="";
$name.=" / ";
$name.="이전 페이지 / ";
$p++;
$p++;
if($p<>$pages+1)
{
$name.="다음 페이지 / ";
$name.="마지막 페이지";
}
else
{
$name.="다음 페이지 / 마지막 페이지";
}
}

}
if($tatol% $page_count<>0)
{
$name="홈페이지 / 이전 페이지 / 다음 페이지 / 마지막 페이지";

}

}

//这是生成另一个的代码
//for ($j=1;$j<=$pages;$j++)
//   $showpages.= "".$j."";
//
//for ($i = 0;$i<$pages; $i++)
//{    
//   $start_page = $i *$page_count;    
//    if($pages>1)
//    {
//       $indexpath   ="user_".($i+1).".htm";  //파일 이름
//       $showpagestr = "第一页".$showpages." 最尾页";
//    }
//    else
//    {
//       $indexpath   = "user.htm"; //파일 이름
//       $showpagestr = "";
//    }
//    
//    $sql ="* FROM 뉴스 또는 DER BY ID DESC LIMIT$start_page,$page_count";
//  //  $query =$Db->Query($sql) or die("잘못된 쿼리");
// $query=$aa->query($sql) ordie(" sql error");
//   //if(($Db->FetchCount($query))<1){
////       $Admin = "數據庫沒有此數據";
////   }else{
//       while ($rs = mysql_fetch_array($query)) {
//          $Admin[] =array('Id'=>$rs['Id'] ,'title'=>$rs['title'],'content'=>$rs['content']);
//       }
//    //}
//
//   $tpl->할당(array('Site_Name'=>"系统",'AdminName'=>'ybfqlyq','AdminType'=>'관리자','유형'=>' 1'));
//   $tpl->할당('Admin',$Admin);
//   $tpl->할당('Page_Str',$showpagestr);
// $temp =$tpl->fetch('test.tpl', null, null, false);//模板文件
//   unset($Admin);
// unset($showpagestr);
//   $showpagestr = "";
//   $fp=fopen($indexpath,'w');
//   fwrite($fp,$temp) 또는 die('생성 실패');
//}
echo "htm 파일을 성공적으로 생성했습니다.";
?>

以上就是利用 PHP与Smarty模板技术生成分页静态页面的代码,希望可以帮助大家,更다상关内容请关注PHP中文网(www.php.cn)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:SQLSERVER 커서 및 루프 문다음 기사:SQLSERVER 커서 및 루프 문

관련 기사

더보기