文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>php模板技术[转]

php模板技术[转]

时间:2007-02-18  来源:PHP爱好者

站点结构

代码:
站点
  ┗includes
       ┗class.inc
  ┣templet
       ┗index.htm
       ┣list.htm
       ┗content.htm
  ┣index.php
  ┗content.php
库结构

代码:
-- 数据库: `test`
-- 表的结构 `test`
CREATE TABLE `test` (
  `id` smallint(3) NOT NULL auto_increment,
  `name` varchar(10) NOT NULL default '',
  `sex` enum('男','女') NOT NULL default '男',
  `age` smallint(2) NOT NULL default '0',
  `email` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ; --------------- class.inc文件 --------
CODE:
[复制到剪切板]
<?php 
 class mycon{  
    private $myhost; 
    private $myuser; 
    private $mypwd; 
    function mycon($host="localhost",$user="root",$pwd=""){ 
      $this->myhost = $host; 
      $this->myuser = $user; 
      $this->mypwd = $pwd; 
    } 
    function connect(){ 
      return mysql_connect($this->myhost,$this->myuser,$this->mypwd); 
    } 
  } 

  class templet{ 
     private $source_file; 
     function get_file($filename){ 
         $this->source_file = file_get_contents($filename); 
     } 
     function parse($tags,$vals){ 
         if(!is_array($tags)){ 
            return preg_replace("|{".$tags."}|",$vals,$this->source_file);  
         }else{ 
            $an = count($tags); 
            for($i=0;$i<$an;$i++){ 
               $tags[$i] = "|{".$tags[$i]."}|"; 
            } 
           return preg_replace($tags,$vals,$this->source_file);  
        } 
     } 
  } 

?>  php爱好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
----------------index.htm文件-------------------
CODE:
[复制到剪切板]
<HTML> 
<HEAD> 
<TITLE>首页</TITLE> 
</HEAD> 
<BODY style="font-size:12px"> 
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="1" bgcolor=#000000 style="font-size:12px"> 
    <caption>成员列表</caption> 
    <TR bgcolor="#ffffff" align=center> 
      <TD width=25%>姓名</TD> 
      <TD width=25%>性别</TD> 
      <TD width=25%>年龄</TD> 
      <TD width=25%>email</TD> 
    </TR> 
    {所有列表} 
    <TR bgcolor="#ffffff"> 
      <TD colspan=2>共有{总条数}条记录,显示{每页条数}条/页</TD> 
      <TD colspan=2 align=right>{分页}</TD> 
    </TR> 
</TABLE> 
</BODY> 
</HTML>  php爱好 者站 http://www.phpfans.net php基础|php进阶|php模板.
------------------list.htm文件-------------------
CODE:
[复制到剪切板]
<TR bgcolor="#ffffff" align=center> 
  <TD><a href="content.php?id={成员ID}">{姓名}</a></TD><TD>{性别}</TD><TD>{年龄}</TD><TD>{email}</TD> 
</TR>  php爱好者站 http://www.phpfans.net 网页特效|网页模板
-------------------content.htm文件-----------------------
CODE:
[复制到剪切板]
<HTML> 
<HEAD> 
<TITLE>成员信息</TITLE> 
</HEAD> 
<BODY style="font-size:12px"> 
<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="1" bgcolor=#000000 style="font-size:12px"> 
    <caption>成员信息</caption> 
    <TR bgcolor="#ffffff"> 
      <TD width=60>姓名</TD><TD>{姓名}</TD></TR> 
    <TR bgcolor="#ffffff"> 
      <TD>性别</TD><TD>{性别}</TD></TR> 
    <TR bgcolor="#ffffff"> 
      <TD>年龄</TD><TD>{年龄}</TD></TR> 
    <TR bgcolor="#ffffff"> 
      <TD>email</TD><TD>{email}</TD></TR> 
</TABLE> 
</BODY>  php爱好 者站 http://www.phpfans.net php基础|php进阶|php模板.
----------------index.php文件--------------------------
CODE:
[复制到剪切板]
<?php  
  include("includes/class.inc");  
  $tmpl =new templet;  
  $mycon =new mycon;  
  $con = $mycon->connect();  
  mysql_select_db("test",$con);  
  $lim = 20; //每页显示行数  
  $p = ($_GET[p]) ? $_GET[p] : 1;  //当前页号  

  /***** 生成列表开始 *****/  

  $lists = "";  
  $tmpl->get_file("templet/list.htm");  
  $tags = array("成员ID","姓名","性别","年龄","email");  //应与表字段同顺序  
  $rs = mysql_query("select * from test order by id desc limit ".($p-1)*$lim.",$lim");  
  while($row=mysql_fetch_row($rs)){  
     $lists .= $tmpl->parse($tags,$row);  
  }  

   /***** 生成列表完成, 分页开始 *****/  

  $tmpl->get_file("templet/index.htm");  
  $rn = @mysql_result(mysql_query("select count(id) from test"),0);  //总记录数  
  $ps = ceil($rn/$lim);   //总页数  
  $pagination = "<a href='?p=1'>首页</a> ";  
  if($p>1) $pagination .= "<a href='?p=".($p-1)."'>";  
  else $pagination .= "<font color='#777777'>";  
  $pagination .= "上一页</font></a> ";  
  if($p<$ps) $pagination .= "<a href='?p=".($p+1)."'>";  
  else $pagination .= "<font color='#777777'>";  
  $pagination .= "下一页</font></a> <a href='?p={$ps}'>尾页</a> &nbsp;";  

   /***** 分页完成, 生成页面开始 *****/  
   $tags = array("所有列表","总条数","每页条数","分页");  
   $vals = array($lists,$rn,$lim,$pagination);  
   echo $tmpl->parse($tags,$vals);  
?>  非常全面的一个php技术网站,php爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.
---------------- content.php文件 ---------------
CODE:
[复制到剪切板]
<?php 
  include("includes/class.inc"); 
  $tmpl =new templet; 
  $mycon =new mycon; 
  $con = $mycon->connect(); 
  mysql_select_db("test",$con); 
  $tmpl->get_file("templet/content.htm"); 
  $rs = mysql_query("select * from test where id=$_GET[id]"); 
  $row=@mysql_fetch_row($rs); 
  unset($row[0]); //去掉表中读出的多余字段,对齐替换项,或在SELECT语句中列表字段  
  $tags = array("姓名","性别","年龄","email");  
  echo $tmpl->parse($tags,$row); 
?>  php爱 好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载