code与html分离,PHP中模板的使用

转自:http://bbs.blueidea.com/thread-2717864-1-1.html

写了一个简单的练习了下,使代码不再陷入烦人的HTML中,看着干净多了^_^

数据库结构:
其实也就一个表,你可以根据你的需要来设置字段,数据库名:lolooo,表名:wuleying(其实有没有数据库都可以完成我这个例子,不过数据库是为了以后扩展所做,在想加什么功能ING)我这里简单的设了6个字段,分别是:


  1. name varchar30
  2. sex varchar2
  3. age int 10
  4. qq int 10
  5. emailvarchar50
  6. info varchar255
复制代码


然后是模板页了(也就是纯html)
page1.html

运行代码复制代码另存代码提示:您可以先修改部分代码再运行



page2

运行代码 复制代码 另存代码 提示:您可以先修改部分代码再运行



花括号里的内容就是要替换掉的,其实用别的符号也行,甚至不用符号都成(当然有可能会出错),不过用花括号比较普遍吧~

P.S.这两个页面我随便排了下版,很粗糙-_!!

然后是关键的了

function.php

  1. <?php
  2. //账号与密码设定
  3. $host = 'localhost';
  4. $user = 'root';
  5. $pass = '';
  6. $database = 'lolooo';


  7. //sql查询A(用于insert update delete)
  8. function sql_a($query)
  9. {
  10. global $host,$user,$pass,$database;

  11. $conn = @mysql_connect($host,$user,$pass);
  12. @mysql_select_db($database,$conn);
  13. $result = @mysql_query($query);

  14. return $result;
  15. }

  16. //sql查询B(用于select)
  17. function sql_b($query)
  18. {
  19. global $host,$user,$pass,$database;

  20. $conn = @mysql_connect($host,$user,$pass);
  21. $result = @mysql_db_query($database,$query,$conn);
  22. @mysql_data_seek($result,0);
  23. while($row = @mysql_fetch_array($result))
  24. {
  25. $output[] = $row;
  26. }

  27. @mysql_free_result($result);
  28. @mysql_close($conn);

  29. return $output;
  30. }


  31. //sql查询C(用于insert 且自动产生编号)
  32. function sql_c($query)
  33. {
  34. global $host,$user,$pass,$database;

  35. $conn = @mysql_connect($host,$user,$pass);
  36. @mysql_select_db($database,$conn);
  37. $result = @mysql_query($query);
  38. $result = @mysql_insert_id();
  39. @mysql_close($conn);

  40. return $result;
  41. }


  42. //解析网页,并且替换输出
  43. //$parser_array格式为:$array['key'] = value;
  44. function read_and_parser($filename,$parser_array)
  45. {
  46. $handle = fopen($filename,'r');
  47. $buffer = fread($handle,filesize($filename));
  48. @fclose($buffer);

  49. //开始查找替换
  50. while(list($key,$value)=each($parser_array))
  51. {
  52. $buffer = str_replace($key,$value,$buffer);//这一句是重点,把指定内容替换
  53. }

  54. return $buffer;
  55. }

  56. ?>
复制代码



show.php

  1. <?php
  2. include_once('function.php');

  3. $sql = "select * from wuleying";

  4. $row = sql_b($sql);//执行查询

  5. if($_GET['style']==1)
  6. {
  7. $page = 'page1.html';
  8. }
  9. else
  10. {
  11. $page = 'page2.html';
  12. }

  13. //把从数据库里取出的数据存到$array这个数组里
  14. $array['{name}'] = $row[0][0];
  15. $array['{sex}'] = $row[0][1];
  16. $array['{age}'] = $row[0][2];
  17. $array['{qq}'] = $row[0][3];
  18. $array['{email}'] = $row[0][4];
  19. $array['{info}'] = $row[0][5];

  20. $output = read_and_parser($page,$array);//用自定义函数替换内容

  21. echo $output;//显示页面

  22. ?>
复制代码




OK,这就是最最最简单的模板套用(精简到不能再精简了),就是什么表现层与逻辑层分离吧(偶概念不清-_!!面壁去)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值