code与html分离,PHP中模板的使用
转自:http://bbs.blueidea.com/thread-2717864-1-1.html
写了一个简单的练习了下,使代码不再陷入烦人的HTML中,看着干净多了^_^
数据库结构:
其实也就一个表,你可以根据你的需要来设置字段,数据库名:lolooo,表名:wuleying(其实有没有数据库都可以完成我这个例子,不过数据库是为了以后扩展所做,在想加什么功能ING)我这里简单的设了6个字段,分别是:
-
-
name varchar 30
-
sex varchar 2
-
age int 10
-
qq int 10
-
email varchar 50
-
info varchar 255
然后是模板页了(也就是纯html)
page1.html
提示:您可以先修改部分代码再运行
page2
提示:您可以先修改部分代码再运行
花括号里的内容就是要替换掉的,其实用别的符号也行,甚至不用符号都成(当然有可能会出错),不过用花括号比较普遍吧~
P.S.这两个页面我随便排了下版,很粗糙-_!!
然后是关键的了
function.php
-
-
<?php
-
//账号与密码设定
-
$host = "localhost";
-
$user = "root";
-
$pass = "";
-
$database = "lolooo";
-
-
-
//sql查询A(用于insert update delete)
-
function sql_a($query)
-
{
-
global $host,$user,$pass,$database;
-
-
$conn = @mysql_connect($host,$user,$pass);
-
@mysql_select_db($database,$conn);
-
$result = @mysql_query($query);
-
-
return $result;
-
}
-
-
//sql查询B(用于select)
-
function sql_b($query)
-
{
-
global $host,$user,$pass,$database;
-
-
$conn = @mysql_connect($host,$user,$pass);
-
$result = @mysql_db_query($database,$query,$conn);
-
@mysql_data_seek($result,0);
-
while($row = @mysql_fetch_array($result))
-
{
-
$output[] = $row;
-
}
-
-
@mysql_free_result($result);
-
@mysql_close($conn);
-
-
return $output;
-
}
-
-
-
//sql查询C(用于insert 且自动产生编号)
-
function sql_c($query)
-
{
-
global $host,$user,$pass,$database;
-
-
$conn = @mysql_connect($host,$user,$pass);
-
@mysql_select_db($database,$conn);
-
$result = @mysql_query($query);
-
$result = @mysql_insert_id();
-
@mysql_close($conn);
-
-
return $result;
-
}
-
-
-
//解析网页,并且替换输出
-
//$parser_array格式为:$array["key"] = value;
-
function read_and_parser($filename,$parser_array)
-
{
-
$handle = fopen($filename,"r");
-
$buffer = fread($handle,filesize($filename));
-
@fclose($buffer);
-
-
//开始查找替换
-
while(list($key,$value)=each($parser_array))
-
{
-
$buffer = str_replace($key,$value,$buffer);//这一句是重点,把指定内容替换
-
}
-
-
return $buffer;
-
}
-
-
?>
show.php
-
-
<?php
-
include_once("function.php");
-
-
$sql = "select * from wuleying";
-
-
$row = sql_b($sql);//执行查询
-
-
if($_GET["style"]==1)
-
{
-
$page = "page1.html";
-
}
-
else
-
{
-
$page = "page2.html";
-
}
-
-
//把从数据库里取出的数据存到$array这个数组里
-
$array["{name}"] = $row[0][0];
-
$array["{sex}"] = $row[0][1];
-
$array["{age}"] = $row[0][2];
-
$array["{qq}"] = $row[0][3];
-
$array["{email}"] = $row[0][4];
-
$array["{info}"] = $row[0][5];
-
-
$output = read_and_parser($page,$array);//用自定义函数替换内容
-
-
echo $output;//显示页面
-
-
?>
OK,这就是最最最简单的模板套用(精简到不能再精简了),就是什么表现层与逻辑层分离吧(偶概念不清-_!!面壁去)
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。