PHP访问MySql数据库 中级篇 Smarty技术
阅读本文之前,推荐先参阅《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://www.2cto.com )  
	
	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'); 
	?> 
	<?php
	// by MoreWindows( http://www.2cto.com )
	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://www.2cto.com )  
	
	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); 
	
相关新闻>>
- 发表评论
- 
				
- 最新评论 进入详细评论页>>





![smarty局部缓存技术[源码分析]](/uploads/allimg/130827/11214T939-0-lp.jpg)