About_Smarty
Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。
首先:要导入文件
<?php
include_once('smarty/Smarty.class.php'); $smarty = new Smarty; $smarty->template_dir = './templates/';
$smarty->compile_dir = './templates_c/';
$smarty->config_dir = './configs/';
$smarty->cache_dir = './cache/'; $smarty->left_delimiter = "{"; $smarty->right_delimiter = "}"; ?>
然后:链接数据库
<?php //数据库执行的魔术函数
function mysql_magic(){ //首先我们参数个数是未知的,但是可以通过PHP函数func_get_args
//得到所有的传入参数,返回值是一个数组
//这个函数还有一个相对的方法func_num_args,这个方法是获取传入参数的个数
$argsNum = func_get_args();
$args = func_get_args(); if($argsNum == 0){
echo "没有传入参数,直接返回false";
return false;
}
//array_shift数组方法,会把原数组的第一个位置的元素,移出数组,数组剩下后面的部分,并且将移出的元素返回
$sql = array_shift($args);
//为了不混淆$args,将args的值复制给另外的数组
$values = $args; //使用字符串替换函数str_replace
$sql = str_replace("?","'%s'",$sql); //使用vsprintf,将$sql字符串格式化
$sql = vsprintf($sql,$values);
//数据库执行语句已经拼好了,接下来就是要判断到底是增删改查的哪个语句
//根据判断执行不同的操作 //取得数据库语句第一个单词
// $s = explode(" ",$sql)[0];
$s = substr($sql,0,6); $conn = mysql_connect("localhost","root","") or die("数据连接异常".mysql_error());
mysql_select_db("bbs",$conn) or die(mysql_error());
mysql_query("set names 'utf8'"); $result = mysql_query($sql) or die(mysql_error()); if(strcasecmp($s,"insert") == 0){
return mysql_insert_id(); //>0->true表示插入成功,返回最新id,=0表示插入失败,没有获取最新插入的id
}
else if(strcasecmp($s,"update") == 0 || strcasecmp($s,"delete") == 0){
return mysql_affected_rows(); //返回几行受影响,>0表示删除或者更新成功,至少都有1行受影响,=0失败,没有行数受影响
}
else{
$arr = array();
while($row=mysql_fetch_array($result)){
$arr[] = $row;
}
return $arr;
} } ?>
最后:测试
<?php
include_once("smarty_inc.php");
include("mysql_func.php");
$sql = "select * from topic where parentid=?";
$topic = mysql_magic($sql,"0");
$arr = array(
array("我是标题1","我是内容1","我是作者1"),
array("我是标题2","我是内容2","我是作者2"),
array("我是标题3","我是内容3","我是作者3"),
array("我是标题4","我是内容4","我是作者4"),
);
$smarty->assign("name","macio jackson is a good black man");
$smarty->assign("age","19");
$smarty->assign("address","成都");
$smarty->assign("arr",$arr);
$smarty->assign("topic",$topic);
$smarty->display("index.html");
?>
About_Smarty的更多相关文章
随机推荐
- Linux下多线程下载利器 axel
参考 https://teddysun.com/377.html 使用示例: axel -an https://ubuntu-mate.org/raspberry-pi/ubuntu-mate-16. ...
- 三妹,我拆了你的本-- Day One(大图赏)
从垃圾箱中捡到了三妹的笔记本,虽然显卡已烧,硬盘和内存已被掳走,但依旧很高兴的说,因为我的目的是要拆了它. 这是我的第一次,所以本文的内容完全是新手猎奇,高手勿喷~ 步骤1:拆掉塑料外壳 不要忘了硬盘 ...
- mui学习记录
1.页面间传值 2.mui如何增加自定义icon图标 http://ask.dcloud.net.cn/article/128 3.设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇) h ...
- 本周psp个人作业
计划--用一天的时间来做这个项目 需求分析--作为一个观众,我想要知道每局的比分,以便我更了解比赛情况. 生成设计文档--用类图来进行说明. 设计复审---无 代码规范--3H 具体设计--建立数据库 ...
- sharepoint关键位置
GAC:C:\Windows\assembly,也就是部署的位置: ISAPI位置,SharePoint API:C:\Program Files\Common Files\microsoft sha ...
- js学习进阶中-bind()方法
有次面试遇到的,也是没说清楚具体的作用,感觉自己现在还是没有深刻的理解! bind():绑定事件类型和处理函数到DOM element(父元素上) live():绑定事件到根节点上,(document ...
- ajax提交form表单
1. ajax提交form表单和不同的form表单的提交主要区别在于,ajax提交表单是异步提交的,而普通的是同步提交的表单. 2. from视图部分 <form id="loginF ...
- UTF-8编码规则(转)
from:http://www.cnblogs.com/chenwenbiao/archive/2011/08/11/2134503.html UTF-8是Unicode的一种实现方式,也就是它的字节 ...
- November 2nd Week 45th Wednesday 2016
If your ship doesn't come in, swim out to it. 如果你的船不驶进来,那你就朝他游过去吧! Swim out to it, don't fear that y ...
- unity播放视频
方法一: 1.用一个Quad(或者其他的)做屏幕,调整摄像机位置和它的大小,使它显示在你想要的区域 2.将视频拖入Unity,拖入,拖入,拖入:不是将视频直接copy到指定的文件夹中 3.将下面脚本挂 ...