PHP访问MySql数据库 中级篇 Smarty技术
来源:互联网 发布:美图秀秀mac官方下载 编辑:程序博客网 时间:2024/06/05 12:39
阅读本文之前,推荐先参阅《PHP访问MySql数据库 初级篇》。
Smarty是一个使用PHP语言写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,将原本与HTML代码混杂在一起PHP代码进行了分离。从而使PHP程序员同网站的前端程序员可以达到良好的分工——PHP程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面的样式也不会影响到程序的程序逻辑,这使得多人合作的项目变得尤为轻松和易于管理维护。正因为Smarty有这么多的优点,所以国内各大公司在网站编程时均采用这种编程方法。Smarty的手册可以访问http://www.smarty.net/docs/en/index.tpl。
下面是Smarty程序的一个小范例,功能上与初级篇相同——从MySql的test数据库中的t_student读取数据然后显示。程序共分为5个文件,分别为smarty2.php、smarty2.html、smarty2_head.php、smarty2.js和smarty2.css。此外程序要引用Smarty和JQuery的库文件。
1.smarty2_head.php文件
<?php// by MoreWindows( http://blog.csdn.net/MoreWindows )define(DB_HOST, 'localhost');define(DB_USER, 'root');define(DB_PASS, '111111');define(DB_DATABASENAME, 'test');define(DB_TABLENAME, 't_student');$dbcolarray = array('id', 'name', 'age');?>
2.smarty2.php文件
<?php// by MoreWindows( http://blog.csdn.net/MoreWindows )header("Content-Type: text/html; charset=utf-8");require('../../smart_libs/Smarty.class.php');require_once('smarty2_head.php');date_default_timezone_set("PRC");//mysql_connect$conn = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("connect failed" . mysql_error());mysql_select_db(DB_DATABASENAME, $conn);//表中记录条数$sql = sprintf("select count(*) from %s", DB_TABLENAME);$result = mysql_query($sql, $conn);if ($result){$dbcount = mysql_fetch_row($result);$tpl_db_count = $dbcount[0];}else{die("query failed");}//表头$tpl_db_coltitle = $dbcolarray;//表中的内容$tpl_db_rows = array();$sql = sprintf("select %s from %s", implode(",",$dbcolarray), DB_TABLENAME);$result = mysql_query($sql, $conn);while ($row = mysql_fetch_array($result, MYSQL_ASSOC))//与$row=mysql_fetch_assoc($result)等价$tpl_db_rows[] = $row;mysql_free_result($result);mysql_close($conn);$tpl = new Smarty;$tpl->assign('db_count', $tpl_db_count);$tpl->assign('db_coltitle', $tpl_db_coltitle);$tpl->assign('db_rows', $tpl_db_rows);$tpl->display('smarty2.html');?>
3.smarty2.html文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link href="smarty2.css" rel="stylesheet" type="text/css" media="all" /><script type="text/javascript" src="../jquery-1.7.min.js"></script><script type="text/javascript" src="smarty2.js"></script><title>{$smarty.const.DB_TABLENAME}</title></head><body><h1>表中有{$db_count}条记录</h1><table border="1" align="center" cellpadding="10" cellspacing="2" bordercolor="#ffaaoo">{foreach $db_coltitle as $col} <th>{$col}</th>{/foreach}{foreach $db_rows as $dbrow} <tr> {foreach $dbrow as $k=>$val} <td>{$val}</td> {/foreach} </tr>{/foreach}</table></body></html>
4.smarty2.js文件
$(document).ready(function(){ //用CSS控制奇偶行的颜色 $("table tr:odd").css("background-color", "#e6e6fa"); $("table tr:even").css("background-color", "#fff0fa");});
5.smarty2.css文件
@charset "utf-8";h1{color:Red;text-align:center;}table th{ background-color:#7cfc00; }
程序运行结果如下:
上例展示了Smarty的基本用法,当然Smarty还提供了更加方便使用的接口函数,如对表格,可以使用{html_table}来快速生成表格。有兴趣的读者可以试试。
现在这个程序再加上《jquery 表格的增加删除和修改及设置奇偶行颜色》中对表格的增加删除和修改功能就基本上可以完善了,请参见下一篇《PHP访问MySql数据库 高级篇 AJAX技术》。
转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/7094642
- PHP访问MySql数据库 中级篇 Smarty技术
- PHP访问MySql数据库 中级篇 Smarty技术
- PHP访问MySql数据库 中级篇 Smarty技术
- PHP访问MySql数据库 高级篇 AJAX技术
- PHP访问MySql数据库 高级篇 AJAX技术
- PHP访问MySql数据库 高级篇 AJAX技术
- PHP访问MySQL数据库
- PHP访问MySQL数据库
- PHP访问MySQL数据库
- PHP访问MySQL数据库
- PHP访问MySql数据库
- php访问mysql数据库
- PHP访问MySql数据库
- php访问mysql数据库
- PHP访问MySql数据库 初级篇
- PHP访问MySql数据库 初级篇
- PHP访问MySql数据库 初级篇
- PHP模板技术Smarty
- jquery 表格的增加删除和修改及设置奇偶行颜色
- javascript 得到文件后缀名
- PHP 缩放图片
- UVA11354[Bond] 倍增求LCA+Kruskal求最小瓶颈生成树
- PHP访问MySql数据库 初级篇
- PHP访问MySql数据库 中级篇 Smarty技术
- PHP访问MySql数据库 高级篇 AJAX技术
- JSON进阶第一篇 在PHP与javascript 中使用JSON
- JSON进阶第二篇 AJAX方式传递JSON数据
- Java程序发送邮件
- JSON进阶第三篇 apache多域名及JSON的跨域问题(JSONP)
- PHP读写XML文件
- PHP画图基础
- python+selenium中的wait事件