推荐php模板技术[转]
2018-09-07 14:01
站点结构
代码:
站点
┗includes
┗
┣templet
┗index.htm
┣list.htm
┗content.htm
┣index.php
┗content.php
库结构
代码:
--数据库:`test`
--表的结构`test`
CREATETABLE`test`(
`id`smallint(3)NOTNULLauto_increment,
`name`varchar(10)NOTNULLdefault,
`sex`enum(男,女)NOTNULLdefault男,
`age`smallint(2)NOTNULLdefault0,
`email`varchar(20)NOTNULLdefault,
PRIMARYKEY(`id`)
)TYPE=MyISAMAUTO_INCREMENT=1;
---------------class.inc文件--------
复制代码 代码如下:<?php
classmycon{
private$myhost;
private$myuser;
private$mypwd;
functionmycon($host=localhost,$user=root,$pwd=){
$this->myhost=$host;
$this->myuser=$user;
$this->mypwd=$pwd;
}
functionconnect(){
returnmysql_connect($this->myhost,$this->myuser,$this->mypwd);
}
}
classtemplet{
private$source_file;
functionget_file($filename){
$this->source_file=file_get_contents($filename);
}
functionparse($tags,$vals){
if(!is_array($tags)){
returnpreg_replace({.$tags.},$vals,$this->source_file);
}else{
$an=count($tags);
for($i=0;$i<$an;$i++){
$tags[$i]={.$tags[$i].};
}
returnpreg_replace($tags,$vals,$this->source_file);
}
}
}
?>
----------------index.htm文件-------------------
复制代码 代码如下:<HTML>
<HEAD>
<TITLE>首页</TITLE>
</HEAD>
<BODYstyle=font-size:12px>
<TABLEWIDTH=100%CELLPADDING=0CELLSPACING=1bgcolor=#000000style=font-size:12px>
<caption>成员列表</caption>
<TRbgcolor=#ffffffalign=center>
<TDwidth=25%>姓名</TD>
<TDwidth=25%>性别</TD>
<TDwidth=25%>年龄</TD>
<TDwidth=25%>email</TD>
</TR>
{所有列表}
<TRbgcolor=#ffffff>
<TDcolspan=2>共有{总条数}条记录,显示{每页条数}条/页</TD>
<TDcolspan=2align=right>{分页}</TD>
</TR>
</TABLE>
</BODY>
</HTML>
------------------list.htm文件-------------------
复制代码 代码如下:<TRbgcolor=#ffffffalign=center>
<TD><ahref=content.php?id={成员ID}>{姓名}</a></TD><TD>{性别}</TD><TD>{年龄}</TD><TD>{email}</TD>
</TR>
-------------------content.htm文件-----------------------
复制代码 代码如下:<HTML>
<HEAD>
<TITLE>成员信息</TITLE>
</HEAD>
<BODYstyle=font-size:12px>
<TABLEWIDTH=100%CELLPADDING=0CELLSPACING=1bgcolor=#000000style=font-size:12px>
<caption>成员信息</caption>
<TRbgcolor=#ffffff>
<TDwidth=60>姓名</TD><TD>{姓名}</TD></TR>
<TRbgcolor=#ffffff>
<TD>性别</TD><TD>{性别}</TD></TR>
<TRbgcolor=#ffffff>
<TD>年龄</TD><TD>{年龄}</TD></TR>
<TRbgcolor=#ffffff>
<TD>email</TD><TD>{email}</TD></TR>
</TABLE>
</BODY>
----------------index.php文件--------------------------
复制代码 代码如下:<?php
$tmpl=newtemplet;
$mycon=newmycon;
$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*fromtestorderbyiddesclimit.($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(selectcount(id)fromtest),0);//总记录数
$ps=ceil($rn/$lim);//总页数
$pagination=<ahref=?p=1>首页</a>;
if($p>1)$pagination.=<ahref=?p=.($p-1).>;
else$pagination.=<fontcolor=#777777>;
$pagination.=上一页</font></a>;
if($p<$ps)$pagination.=<ahref=?p=.($p+1).>;
else$pagination.=<fontcolor=#777777>;
$pagination.=下一页</font></a><ahref=?p={$ps}>尾页</a>;
/*****分页完成,生成页面开始*****/
$tags=array(所有列表,总条数,每页条数,分页);
$vals=array($lists,$rn,$lim,$pagination);
echo$tmpl->parse($tags,$vals);
?>
----------------content.php文件---------------
复制代码 代码如下:<?php
$tmpl=newtemplet;
$mycon=newmycon;
$con=$mycon->connect();
mysql_select_db(test,$con);
$tmpl->get_file(templet/content.htm);
$rs=mysql_query(select*fromtestwhereid=$_GET[id]);
$row=@mysql_fetch_row($rs);
unset($row[0]);//去掉表中读出的多余字段,对齐替换项,或在SELECT语句中列表字段
$tags=array(姓名,性别,年龄,email);
echo$tmpl->parse($tags,$row);
?>
上一篇:建立灵巧结构的PHP程序