首页 > 作文

PHP访问MySql数据库 中级篇 Smarty技术

更新时间:2023-04-07 05:49:05 阅读: 评论:0

本文之前,推荐先参阅《php访问mysql 初级篇》。

smarty是一个使用php语言写出来的模板引擎,是目前业界最著名的php模板引擎之一。它分离了逻辑代码和外在的内容,将原本与html代码混杂在一起php代码进行了分离。从而使php程序员同网站的前端程序员可以达到良好的分工——php程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面的样式也不会影响到程序的程序逻辑,这使得多人合作的项目变得尤为轻松和易于管理维护。正因为smarty有这么多的优点,所以国内各大公司在网站时均采用这种编程方法。smarty的手册可以访问。

下面是smarty程序的一个小范例,功能上与初级篇相同——从mysql的test数据库中的t_student读取数据然后显示。程序共分为5个文件,分别为smarty2.php、smarty2.html、smarty雀桥边野草花2_head.php、smarty2.js和smarty2.css。此外程序要引用smarty和jquery的库文件。

1.smarty2_head.php文件

<?php
// by morewindows( )

define(db_host, ‘localhost’);
define(db_ur, ‘root’);
define(db_pass, ‘111111’);
define(db_databaname, ‘test’);
define(db_tablename, ‘t_student’);

$dbcolarray = array(‘id’, ‘name’, ‘age’);
?>
<?php
// by morewindows( )

define(db_host, ‘loc分子由什么组成alhost’);
define(db_ur, ‘root’);
define(db_pass, ‘111111’);
define(db_databaname, ‘test’);
define(db_tablename, ‘t_student’);

$dbc教育学论文题目olarray = array(‘id’, ‘name’, ‘age’);
?>
2.smarty2.php文件

<?php
// by morewindows( )

header(“content-type: text/html; chart=utf-8”);
require(‘../../smart_libs/smarty.class.php’);
require_once(‘smarty2_head.php’);
date_default_timezone_t(“prc”);

//mysql_connect
$conn = mysql_connect(db_host, db_ur, db_pass) or die(“connect failed” . mysql_error());
mysql_lect_db(db_databaname, $conn);

//表中记录条数
$sql = sprintf(“lect count(*) from %s”, db_tablename);
$result = mysql_query($sql, $conn);
if ($result)
{
$dbcount = mysql_fetch_row($result);
$tpl_db_count = $dbcount[0];
}
el
{
die(“query failed”);
}

//表头
$tpl_db_coltitle = $dbcolarray;

//表中的内容
$tpl_db_rows = array();
$sql = sprintf(“lect %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_clo($conn);

$tpl = new smarty;
$tpl->assign(‘db_count’, $tpl_db_count);
$tpl->assign(‘db_coltitle’, $tpl_db_coltitle);
$tpl->assign(‘db_rows’, $tpl_db_r七年级下册语文教案ows);
$tpl->display(‘smarty2.html’);
?>
<?php
// by morewindows( )
header(“content-type: text/html; chart=utf-8”);
require(‘../../smart_libs/smarty.class.php’);
require_once(‘smarty2_head.php’);
date_default_timezone_t(“prc”);

//mysql_connect
$conn = mysql_connect(db_host, db_ur, db_pass) or die(“connect failed” . mysql_error());
mysql_lect_db(db_datab堵车啦aname, $conn);

//表中记录条数
$sql = sprintf(“lect count(*) from %s”, db_tablename);
$result = mysql_query($sql, $conn);
if ($result)
{
$dbcount = mysql_fetch_row($result);
$tpl_db_count = $dbcount[0];
}
el
{
die(“query failed”);
}

//表头
$tpl_db_coltitle = $dbcolarray;

//表中的内容
$tpl_db_rows = array();
$sql = sprintf(“lect %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_clo($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” “/d/file/titlepic/xhtml1-transitional.dtd& /> <html xmlns=””>
<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>
<!doctype html public “-//w3c//dtd xhtml 1.0 transitional//en” “/d/file/titlepic/xhtml1-transitional.dtd& /> <html xmlns=””>
<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”);
});
$(document).ready(function()
{
//用css控制奇偶行的颜色
$(“table tr:odd”).css(“background-color”, “#e6e6fa”);
$(“table tr:even”).css(“background-color”, “#fff0fa”);
});
5.smarty2.css文件

“utf-8”;
h1
{
color:red;
text-align:center;
}
table th
{
background-color:#7cfc00;
}
@chart “utf-8”;
h1
{
color:red;
text-align:center;
}
table th
{
background-color:#7cfc00;
}
程序运行结果如下:

上例展示了smarty的基本用法,当然smarty还提供了更加方便使用的接口函数,如对表格,可以使用{html_table}来快速生成表格。有兴趣的读者可以试试。

现在这个程序再加上《jquery 表格的增加删除和修改及设置奇偶行颜色》中对表格的增加删除和修改功能就基本上可以完善了,请参见下一篇《php访问mysql数据库 高级篇 ajax技术》。

摘自 morewindows

本文发布于:2023-04-07 05:49:01,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/b071f3dfb3449386e0674c76886d19ff.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP访问MySql数据库 中级篇 Smarty技术.doc

本文 PDF 下载地址:PHP访问MySql数据库 中级篇 Smarty技术.pdf

标签:程序   文件   奇偶   表格
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图