广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    推荐php模板技术[转]

    2018-10-28 11:06:16 次阅读 稿源:互联网
    零七广告
    站点结构

    代码:
    站点
      ┗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文件 -------- 
    代码如下:
    <?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文件------------------- 
    代码如下:
    <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" style="text-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文件------------------- 
    代码如下:
    <TR bgcolor="#ffffff" style="text-align:center">   
      <TD><a href="content.php?id={成员ID}">{姓名}</a></TD><TD>{性别}</TD><TD>{年龄}</TD><TD>{email}</TD>   
    </TR> 



    -------------------content.htm文件----------------------- 
    代码如下:
    <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文件-------------------------- 
    代码如下:
    <?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文件 --------------- 
    代码如下:
    <?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);   
    ?> 

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告