要想做到数据和前台页面真正的分离,就必然会用到smarty模板,这样,仅仅的传输数据就可以了。
配置Smarty的模板默认设置:'TMPL_ENGINE_TYPE' => 'Smarty'
Smarty不解析模板内的标签及内容: {literal} {/literal};//但有的不能用
如果建立的Smarty模板引擎,那么就不能用Think的对象来定义对象数据了,应该由Think变为Smarty。
如果现实内容: {$结果数组.一维标号.表的列名};
但是,不知道怎么回事,在3.2版里面,不能够使用foreach遍历内容。
SELECT的查询条件结构: select 字段 from 表名 where group 字段 having或 order 或 limit;
如建立下面的obj对象:
$obj=D();
$obj->select();是查询到数据表的所有信息
$obj->field(字段1,字段2,。。);指定查询字段;
$obj->table(数据表) 通过具体的数据表查询;
$obj->where(参数) 就是where后面的条件;
$obj->group(字段),根据字段分组查询;
$obj->having(参数条件),having条件设置;
$obj->order(参数),进行排序查询;
$obj->limit(偏移量,条数),限制条数查询;
$obj->select(主键值);只查询这个主键的信息。也可以指定多个主键
说明的是在SQL语句查询的时候是没有拼装顺序的,但是在内部是默认的给定顺序的。
如果查询的结果只有一条信息,可以使用find方法,节约资源。
$obj->find(主键值); 注意,这是一维数组
另外要说的还有:
having:这个类似于where,但是他们有以下的区别
1:当两者在一般查询中存在结果时,那就可以同时使用。
2:如果查询不到结果那就只能使用where
3:但如果要使用别名的话就只能使用having
聚合函数:
可以直接作为最后一个函数使用的方法,也可以直接进行使用:
count(); 查询有多少条记录。
max(); 最大值查询。
min(); 最小值查询。
avg(); 求平均值。