站点结构
代码:
站点
┗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 ;
`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" 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" 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 );
?>