1什么是phpcms 的 Get标签
通俗来讲,get 标签是Phpcms定义的能直接调用数据库里面内容的简单化、友好化代码,她可调用本系统和外部数据,只有你对SQL有一定的了解,她就是你的绝世好剑! 也就是适合熟悉SQL语句的人使用。有了她,我们打造个性化的网站,能非常方便的调用出数据库里面指定的内容。通过条件限制,我们可以调用出不同条件下的 不同数据。
如果说,我不懂SQL怎么办?没有问题,get 标签还有强大的创建工具(看这里),Phpcms2008 在新建模板和修改模板页面增加了 get 标签傻瓜式生成器,get 标签生成器可以帮助您列出指定数据源的数据表和字段,通过填空和选择方式生成可用的 get 标签代码。Phpcms2008 首次提供了最全面的数据字段,对本系统任何数据表和字段都提供了中文说明,这也会大大降低 get 标签的使用难度。
phpcms V9 保留了2008的get标签的使用方法
它包括了2种方式一种是内部数据,
另一种是外部数据
1、外部数据的调用
{ pc : get sql = "SELECT FROM phpcms_member" cache = "3600" page = "$page" dbsource = "discuz" return = "data" }
{ loop $data $key $val }
{ $val [ username ]}< br />
{ /loop}
{ $pages }
{/ pc }
一个是数据源,一个是产生的pages翻页
我们再分析下内部数据的使用方法
2、内部数据的调用
{pc:get sql="SELECT FROM `XX` WHERE fid =$ltid AND digest =2 AND ifupload =1 ORDER BY tid DESC" num="2" cache= "3600" return="data" }
{loop $data $r}
。。。。。
{/loop}{/pc}
由此可以看出 get 语句支持num的用法但是不支持 limit 5,5这样的用法
实在是很遗憾
num是调用的条数
get 标签参数完整剖析
{get dbsource="数据源" dbname="数据库" sql="SQL语句" rows="行数" return="返回变量名称" page="$page"}
输出代码(含返回变量值、数组、函数等)
{/get}
复制代码
dbsource="数据源" -->
您好,这样的:
{php $where = "catid IN (25,26,20,21) "}
{pc:content action="position" posid="2" order="listorder DESC" where="$where" moreinfo="1" num="2"}
{loop $data $r}
<a href="{$r[url]}" title="{$r[title]}">{str_cut($r[title],36,'')}</a><br>
{str_cut($r[description],112)}
<div class="bk20 hr"><hr /></div>
{/loop}
{/pc}
但是这样写在Phpcms 2008可以,但是在 v9是不可以的,在pc标签里面不解析 catid IN (25,26,20,21) 这语句。那么修正代码如下:
{pc:content action="position" posid="2" order="listorder DESC" where="catid IN (25,26,20,21) " moreinfo="1" num="2"}
{loop $data $r}
<a href="{$r[url]}" title="{$r[title]}">{str_cut($r[title],36,'')}</a><br>
{str_cut($r[description],112)}
<div class="bk20 hr"><hr /></div>
{/loop}
{/pc}
这里的DATA 是一个数组,loop 经过模板解析就是PHP代码里的foreach。
get 得到的数据其实就是一个名为data的数组,当然get语句是不用写loop 的 应为解析的时候已经自动加上了循环语句。
get查询出来的data和在模板里看见的data不是同一个数组,只是名字一样而已。
$data=array('key0'=>'v0','key1'=>'v1','key2'=>'v2',)//假设一个data数组
{loop $data $key $val} {/loop}//这实际上是php的 foreach语句这里有三个参数$data代表要 *** 作的数组,$key代表数组每个元素的键名即$data中的key0、key1、key2,$val代表数组中每个元素的键值即$data中的$v0、$v1、$v2
{loop $data $val} {/loop}//而这里有两个参数的话,同样$data代表要 *** 作的数组,而$val代表数组中每个元素的键值即$data中的$v0、$v1、$v2
也就是说当你需要对一个数组遍历,这其中又需要 有关 键名 的逻辑 *** 作的话,那就需要使用
{loop $data $key $val}带三个参数的 *** 作,如果不需要对键名有逻辑 *** 作,那你就可以用带两个参数的 *** 作
还没解决吗 这样试试吧
在数据库中(phpmyadmin)运行以下这段SQL语句
CREATE TABLE table_field (
tid mediumint(8) unsigned NOT NULL,
uid mediumint(8) unsigned NOT NULL,
username varchar(15) NOT NULL,
vote tinyint(3) unsigned NOT NULL,
`time` int(10) unsigned NOT NULL,
KEY tid (tid),
KEY uid (uid)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
友情建议: *** 作前,先备分下自己的数据
以上就是关于php人教版小学语文晦全部的内容,包括:php人教版小学语文晦、如何安装PHPCMS网站管理系统(2)_PHPCms教程、PHPCMS V9中的GET怎么使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)