推荐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);    
        }   
     }   
  }   
?> 

----------------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>

------------------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> 

-------------------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> 

----------------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>  ";    
   /***** 分页完成, 生成页面开始 *****/    
   $tags = array("所有列表","总条数","每页条数","分页");    
   $vals = array($lists,$rn,$lim,$pagination);    
   echo $tmpl->parse($tags,$vals);    
?>

---------------- 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);   
?>

时间: 2025-01-21 17:29:26

推荐php模板技术的相关文章

推荐php模板技术[转]_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` v

PHP中的模板技术

综述: 在多人开发大型PHP项目时,模板技术非常有用,它可以分开美工和程序员的工作,并且方便界面的修改和完善:不仅如此,利用模板技术,我们还可以简单有效地定制或者修改站点.现在我们将要以PHPLIB的模板为例子讲述如何在PHP中应用模板技术. 如何使用PHPLIB模板? 设我们有一个模板, 名为UserTemp,路径为/home/user_dir/user_temp/,它的内容如下: 你订购的是:{Product} 大括号表示Product是一个模板变量. 然后我们编写如下的

关于PHP模板技术的基本概念

概念|模板 如果你正在设计一个交互式网站,你一定会关注两个主要的问题,就是美工和程序.这也是一个网站在建设中抛开其内容之后最关键的要素.通常有两种方式来协调美工和程序之间的关系: 1.先做好美工页面,然后由程序员直接在美工页面的HTML文件中嵌入ASP.JSP.PHP等程序代码. 2.美工和程序同时进行,但这时因为没有页面框架,程序只能做出一些关键代码,双方完成后再进行一次美工页面和程序代码的嵌入合成. 在实际的网站建设过程中,由于人员.进度等环境的限制,大家通常会混合地使用上面两种协调方式.然

基于jTemplates、ascx协同工作的酷UI模板技术

在很久很久以前,也就是asp.net ajax刚引起大众关注不久,asp.net ajax团队成员ScottGu发布 了一篇非常实用的文章: 英文:Tip/Trick: Cool UI Templating Technique to use with ASP.NET AJAX for non-UpdatePanel scenarios , 中文:技巧和诀窍:在不用UpdatePanel的情形下可与ASP.NET AJAX 使用的酷UI模板技术 看完之后,非常受用,并给我留下了非常深刻的映像,之后

angularjs可以和服务器端提供的模板技术混用吗

问题描述 angularjs可以和服务器端提供的模板技术混用吗 angularjs可以和服务器端提供的模板技术混用吗,例如在JSP中可以使用angularjs吗? 解决方案 按理说是可以的,虽然我没有用angularjs进行过实战开发...... 解决方案二: 你可以看下微信网页版,他们就是用的angularjs进行开发的

深入解析php模板技术原理【一】_php模板

1.模板的由来 在没有模板技术之前,使用PHP开发程序,通常都是php代码和html混编在一起.比如说新闻列表,很可能就是一个newslist.php页面,结构如下: <?  //从数据库中读取出要显示的新闻记录  ?>  <html>  <head>--..  </head>  <body>  <?   While ($news = mysql_fetch_array($result)) {  ?>  <!--输出新闻标题  

php简单 模板技术

<?php /**php简单 模板技术  * 作者:牛哄哄  * QQ:455703030  * 声明:我正则写的不地道,欢迎高手帮我修改一下  *      可自由传播.使用,但请保留此信息  */ class FLEA_View_NHH {  //模板存储目录  public $viewDir = null;  //缓存存储目录  public $cacheDir = null;  //是否过滤缓存中多余空格.Tab.回车  public $filterCache = true;    //

.net的模板技术,有没有好的推荐一个像php的smarty一样的

问题描述 好的,谢谢!最好要有说明文档还有一些演示程序! 解决方案 解决方案二:MVChttp://www.asp.net/mvc/default.aspx?wwwaspnetrdirset=1解决方案三:楼上是3.5版的,我想要一个2.0版的解决方案四:看来这一贴又要我自结了

给大家推荐几篇技术文章

给大家推荐几篇文章,希望大家能够喜欢! HTML5/CSS3实现虚拟键盘功能 详解HTML5获取电池状态信息的方法 详解基于共享存储(SAN)的MySQL高可用方案 盘点近年来struts2产生的安全漏洞 System.arraycopy用法详解 Java线程java.lang.Thread.State状态详解 RAW Socket 获取流经本地网卡的所有数据包 LSP网络劫持介绍 统计textarea输入个数并限制输入长度特效提示 从马云的角度看个人站长的未来在哪里 Google Guava库