大纲:

get 标签概述
get 标签语法
get 标签创建工具
get 调用本系统示例
get 调用其他系统示例
一、get 标签概述
    通俗来讲,get 标签是Phpcms定义的能直接调用数据库里面内容的简单化、友好化代码,她可调用本系统和外部数据,只有你对SQL有一定的了解,她就是你的绝世好剑!也就是适合熟悉SQL语句的人使用。有了她,我们打造个性化的网站,能非常方便的调用出数据库里面指定的内容。通过条件限制,我们可以调用出不同条件下的不同数据。
二、get标签样式
{get dbsource=" " sql=" "}
{/get}
三、get 标签语法
1.get标签属性值必须用双引号括起来( " " )。
例如:
{get sql=" " /}
2.get标签必须含有结束标记,即正确get标签必须是成对出现:整个Get标签含有结束标记“ {/get}”,或者是“/”。
3.get标签里面含有的变量,数组和函数必须用“{}”包括。
例如:
{str_cut($r[title], 50)}
{$r[url]}
4.get标签 sql语句中条数限制。( rows=" " )
例如:显示10条信息
{get sql=" " rows="10"}
{/get}
5.get标签 sql语句中条件限制。( where )
例如:调用栏目ID为1的信息
{get sql="select * from phpcms_content where catid=1"}
标题:{$r[title]} URL:{$r[url]} 
{/get}
6.get标签 sql语句中排序。( order by )
例如:按更新日期降序(desc)排列
{get sql="select * from phpcms_content order by updatetime desc" }
{$r[title} URL:{$r[url]}
{/get}
7.get标签里面嵌套php函数。(可以参考上面的第3点)
例如:格式化输出时间戳
{date('Y-m-d', $r[updatetime])}
8.本系统数据调用(当前数据库调用)
{get sql=""}
{/get}
或者
{get sql="" return="r"}
{/get}
9.本系统数据调用10条
{get sql="" rows="10"}
{/get}
10.同一个数据库帐号的不同数据库调用
{get dbname="" sql="" }
{/get}
11.不同数据库帐号调用(不同数据源调用)
{get dbsource="" sql=""}
{/get}
12.不同数据库帐号的不同数据库调用
{get dbsource="" dbname="" sql="" }
{/get}
13.本系统数据调用,带分页
{get sql=" " page="$page"}
{/get}
分页:{$pages}
14.本系统数据调用,自定义返回变量
{get sql=" " return="v"}
{$v[ ]}
{/get}
*get 标签参数完整剖析
{get dbsource="数据源" dbname="数据库" sql="SQL语句" rows="行数" return="返回变量名称" page="$page"}
输出代码(含返回变量值、数组、函数等)
{/get}
dbname="数据库" -->
(数据库 在添加数据源的时候需要填写的数据库名)
注:本系统调用(同一数据库账号,同一数据库名)可以省略
sql="SQL语句" -->
SQL语句可以参考Mysql手册,上面get 标签语法第4、5、6点和SQL语句剖析已经提及要点
注:此参数不可以省略
rows="行数" -->
行数,例如显示10条信息:rows="10"
注:此参数可以省略
return="返回变量名称" -->
参考get 标签语法第8点和第14点
注:此参数可以省略
page="$page" -->
带分页
注:此参数可以省略
*SQL语句剖析
sql="select 字段 from 表名 where 条件表达式 order by 字段 desc/asc"
6条完整get 标签代码示例
    1.调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):
    {get sql="select * from phpcms_content where contentid=1" /}
    标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
    2.调用本系统多条数据,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期):
   {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10"}
    标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
   {/get}
    3.带分页,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" page="$page"}
   标题:{str_cut($r[title], 50)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}
    {/get}
    分页:{$pages}
   4.自定义返回变量,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,返回变量为 $v):
    {get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" return="v"}
   标题:{str_cut($v[title], 50)} URL:{$v[url]} 更新日期:{date('Y-m-d', $v[updatetime])}
{/get}
5.调用同一帐号下的其他数据库,示例(调用数据库为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):
{get dbname="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
主题:{str_cut($r[subject], 50)} URL:http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}
{/get}
6.调用外部数据,示例(调用数据源为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):
{get dbsource="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}
主题:{str_cut($r[subject], 50)} URL:http://bbs.phpcms.cn/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}
{/get}
四、get 标签创建工具
1、获取get 标签代码

例如,刚才我们数据源选择“本系统”,数据表选择“内容模型”,字段名我们显示“ID、标题、摘要、链接地址、发布时间”,条件选择ID=1,排序按ID降序排序,勾选“是否分页”,每页显示条数设置为“10条”,然后点击“插入”

我们就可以得到系统自动生成的get 标签代码,如下:

{get sql="SELECT `contentid`,`title`,`description`,`url`,`inputtime` FROM `phpcms_content` WHERE `contentid` = '1' ORDER BY `contentid` DESC"rows="10" page="$page" }
{$r[contentid]}
{$r[title]}
{$r[description]}
{$r[url]}
{$r[inputtime]}
{/get}
{$pages}
分析如下:
{get sql="SELECT `contentid`,`title`,`description`,`url`,`inputtime` FROM ` phpcms_content`" WHERE `contentid` = '1' ORDER BY `contentid` DESC rows="10" page="$page" }
//条件是ID=1,排序按ID降序排序,显示10行,带分页

{$r[contentid]}
// ID

{$r[title]}
//标题

{$r[description]}
//摘要

{$r[url]}
//链接地址

{$r[inputtime]}
//发布时间
{/get}
{$pages}
//分页
2、将代码插入到模板文件
get 标签代码如下:
{get dbsource="discuz" sql="SELECT `author`,`subject`,`lastpost` FROM `cdb_threads` ORDER BY `lastpost` DESC" rows="3" }
{$r[author]}
{$r[subject]}
{$r[lastpost]}
{/get}

更多网站公告
在上面加入(稍加美化的get 标签代码):

论坛最新帖子

{get dbsource="discuz" sql="SELECT `author`,`subject`,`lastpost` FROM `cdb_threads` ORDER BY `lastpost` DESC" rows="3" }
({$r[author]}){str_cut($r[subject], 22,"")} date:{date("Y-m-d",$r[lastpost])}

{/get}

PHPCMS GET标签使用的更多相关文章

  1. phpcms v9 标签含义整理

    {template "content","header"}   ----------  调用根目录下phpcms\template\content\header ...

  2. phpcms常用标签

    http://v9.help.phpcms.cn/html/pc_tag/modules/ 9帮助中心 {template "content","header" ...

  3. phpcms模板标签整理

    {template "content","header"} 调用根目录下phpcms\template\content\header文件 {CHARSET} 字 ...

  4. phpcms ——模板标签详细使用说明

    使用phpcms总是要查询各种标签,实在很烦,只好找个比较全的来备查.因为自己写一个orm来配合调用也没那么容易无缝的嵌入到引擎当中. 获取父分类下面的子分类 {loop subcat(77) $k ...

  5. PHPCMS V9标签循环嵌套调用数据的方法

    PHPCMS V9的标签制作以灵活见长,可以自由DIY出个性的数据调用,对于制作有风格有创意的网站模板很好用,今天就介绍一个标签循环嵌套方法,可以实现对PC标签循环调用,代码如下: 在此文件里/php ...

  6. phpcms ——模板标签使用说明

    使用phpcms总是要查询各种标签,实在很烦,只好找个比较全的来备查.因为自己写一个orm来配合调用也没那么容易无缝的嵌入到引擎当中. 获取父分类下面的子分类 {loop subcat(77) $k ...

  7. phpcms v9 标签调用,函数,sql

    1.截取调用标题长度 {str_cut($r[title],36,'')} 2.格式化时间 调用格式化时间 2011-05-06 11:22:33 {date('Y-m-d H:i:s',$r[inp ...

  8. phpcms get标签用法

    {pc:get sql="SELECT t.*,n.*,n.typeid nt FROM v9_type t LEFT JOIN v9_news n ON n.typeid=t.typeid ...

  9. phpcms get标签说明

    {pc:get sql="SELECT * FROM phpcms_member" cache="3600" page="$page" db ...

随机推荐

  1. POJ 1113 Wall 凸包求周长

    Wall Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26286   Accepted: 8760 Description ...

  2. 反射——类(Class)

    本文原创,转载请注明原处! 红色代表的是基本组件:包(Package),修饰符(modifier),类(Class),字段(Field),构造器(Constructor)和方法(Method). 黄色 ...

  3. Servlet(2)

    一.伪代码演示Tomcat的内部代码运行 1).通过映射找到servlet-class的内容,字符串:com.gqx.servlet.FirstServlet 2).通过反射构造构造FirstServ ...

  4. 在地图上添加POI(二)

    在上一篇中实现一个icon + label的Marker需要使用两个Tangram的Marker, 今天分析了Tangram的源码后, 发现Tangram时支持单一Marker同时显示的, 这需要使用 ...

  5. 50个Android开发技巧(24 处理ListView数据为空的情况)

         在移动平台上为用户展示数据的一个经常用法是将数据填充进一个List内,而此时须要注意的一点就是: 原文地址:(http://blog.csdn.net/vector_yi/article/d ...

  6. im消息丢失插件

    https://github.com/laughin/mocamsg mocamsg Moca message interceptor Openfire网络不好的情况下经常丢消息,一般情况都是服务器端 ...

  7. [TypeScript] Configuring TypeScript Which Files to Compile with "Files" and "OutDir"

    This lesson shows how to configure the .tsconfig so you only compile the .ts files you want. It then ...

  8. console.debug()浏览器控制台打印输出 仅仅在支持console的浏览器下打印

    console.debug()浏览器控制台打印输出 仅仅在支持console的浏览器下打印 var util = {}; /** * 工具类 */ util = new function() { /* ...

  9. 能发送http请求(get,post)的工具

    能发送http请求(get,post)的工具, 1.  fiddler 前端自己模拟发送请求 2.  其他 链接:https://www.zhihu.com/question/20367546/ans ...

  10. C#教程之打印和打印预览

    最近研究一了一下关于PDF打印和打印预览的功能,在此小小的总结记录一下学习过程. 实现打印和打印预览的方法,一般要实现如下的菜单项:打印.打印预览.页面设置. PrintDocument类 Print ...