一、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}

10.同一个数据库帐号的不同数据库调用

{get dbname="" sql="" }

{/get}

11.不同数据库帐号调用(不同数据源调用)

{get dbsource="" sql=""}

{/get}

12.不同数据库帐号的不同数据库调用

{get dbsource="" dbname="" sql="" }

{/get}

13.本系统数据调用,带分页

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点

注:此參数能够省略

{get sql=" " page="$page"}

{/get}

分页:{$pages}

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}

PHPCMS中GET标签概述、 get 标签语法、get 标签创建工具、get 调用本系统演示样例、get 调用其它系统演示样例的更多相关文章

  1. Python 44 前端概述 、三剑客 、常用标签与分类

    1.前端三剑客是哪三位?文件的后缀内容?在前端开发中的功能是什么? HTML:   .htm .html   内容 CSS:   .css   效果 JS:   .js   行为 2.简述三剑客的主要 ...

  2. jsp动作标签概述

    *Jsp动作标签概述: >动作标签的作用是用来简化java脚本 >jsp动作标签是JavaWeb内置的动作标签,它们是已经定义好的动作标签,我们可以拿来直接使用. >JavaWeb一 ...

  3. Django学习——Django settings 源码、模板语法之传值、模板语法之获取值、模板语法之过滤器、模板语法之标签、自定义过滤器、标签、inclusion_tag、模板的导入、模板的继承

    Django settings 源码 """ 1.django其实有两个配置文件 一个是暴露给用户可以自定义的配置文件 项目根目录下的settings.py 一个是项目默 ...

  4. JSTL标签急速秒杀jsp页面中的java代码(一)---Core标签库

    JSTL标签简介 ===================================================================== JSTL的全称是JavaServer Pa ...

  5. Android中View绘制优化二一---- 使用<include />标签复用布局文件

    本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning   译二:   使用<include />标签复用布局文件      翻译地址:http://de ...

  6. 正则去除字符串中的html标签,但不去除<br>标签

    一.去除html标签 filterHTMLTag(msg) { var msg = msg.replace(/<\/?[^>]*>/g, ''); //去除HTML Tag msg ...

  7. HashTab---Windows资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签

    HashTab 是一个优秀的 Windows 外壳扩展程序,它在 Windows 资源管理器的文件属性窗口中添加了一个叫做”文件校验”的标签.该标签可以帮助你方便地计算文件的 MD5.SHA1 与 C ...

  8. 在IE、fixfox、chrome等浏览器中ajax提交成功后,打开新标签页面被浏览器拦截问题[转]

    如题: 在项目中要在当前页面中,再新开一个页面, 新开页面的地址是ajax请求后返回的url --------- 试了,浏览器提示组织弹窗..... 网上找,找到了一个处理方式,思路是 1. 先打开一 ...

  9. [原创]java WEB学习笔记40:简单标签概述(背景,使用一个标签,标签库的API,SimpleTag接口,创建一个自定义的标签的步骤 和简单实践)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

随机推荐

  1. sql is null

    select * from a or state is null)

  2. navicate备份与还原数据库

    参考:https://jingyan.baidu.com/article/574c521977dea06c8d9dc1b1.html 1.备份数据库 首先新建数据库 选中数据库下方的“备份”,右击“新 ...

  3. loj6063 Shadow

    题目描述 题解: 显然凸多面体投下来一定是个凸多边形. 对于$30$分,直接投到$x-y$平面上即可. 对于$100$分,考虑搞出平面的一般式方程$ax+by+cz+d=0$. 给出平面上三个点$A, ...

  4. [LOJ] #2363「NOIP2016」愤怒的小鸟

    精度卡了一个点,别人自带大常数,我自带大浮点误差qwq. 听了好几遍,一直没动手写一写. f[S]表示S集合中的猪被打死的最少抛物线数,转移时考虑枚举两个点,最低位的0为第一个点,枚举第二个点,构造一 ...

  5. “打开ftp服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹"

    阿里云虚拟主机上传网站程序 问题场景:网页制作完成后,程序需上传至虚拟主机 注意事项: 1.Windows系统的主机请将全部网页文件直接上传到FTP根目录,即 / . 2. 如果网页文件较多,上传较慢 ...

  6. consul无client模式

    1.推consul的镜像到生产应用全部服务器. 每个consul的server模式的容器,都需要单独的物理服务器. 主节点:docker run -d --net=host --name=consul ...

  7. Ubuntu、CentOS 解决docker命令权限问题(sudo)

    #创建docker组 weiyj@ubuntu18:~$ sudo groupadd docker groupadd: group 'docker' already exists #将当前用户加入do ...

  8. Python之微信-微信好友头像合成

    仔细看下图,你的头像就藏在里面哦!!! 有没有犯密集恐惧症?这并不震撼,如果你有 5000 位好友的话,做出来的图看着会更刺激些. 看完了图,你可能想知道这个图咋做出来的,不会是我闲着无聊把把好友头像 ...

  9. STM32定时器的两个小难点

    TIM1 TIM8 挂在APB2上 一般为72M 也即APB2分频系数为1其余TIMER可以认为都挂在APB1上,一般为36M 也即APB1分频系数为2 或者更大 至少为2 APB1不能超过36M定时 ...

  10. html5的导出表格功能

    最近遇到一个需要导出表格的需求,研究了一下nodeJs的excel模块及好多其他的插件,发现还是蛮复杂的,由于项目对于表格的要求不高,因此同事推荐了一种h5的表格导出生成方法,比较简单,在此记录一下 ...