大纲:

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. 基于url的权限管理

    基于url权限管理流程 完成权限管理的数据模型创建. 1.     系统登陆 系统 登陆相当 于用户身份认证,用户成功,要在session中记录用户的身份信息. 操作流程: 用户进行登陆页面 输入用户 ...

  2. 我的ubuntu配置

    每次装系统都是非常蛋疼的过程,新装的系统还是要配置一下的 首先安装google拼音 sudo apt-get install fcitx fcitx-googlepinyin 然后按装numix主题 ...

  3. debug.keystore文件不存在解决办法

    重装系统之后,丢失了debug.keystore,找了很久都没有找到,根据网上所讲的只要重新运行一个android项目;就会在avd中生成一个新的debug.keystroe,此法也没解决,索性直接重 ...

  4. 后台action处理数据传递给前台界面

    package com.renmai.util; import java.io.IOException; import javax.servlet.http.HttpServletResponse; ...

  5. careercup-数组和字符串1.7

    1.7 编写一个算法,若M*N矩阵中某个元素为0,则将其所在的行与列清零. 类似于leetcode中的 Set Matrix Zeroes C++实现代码: #include<iostream& ...

  6. 【Android】数据库的简单应用——升级数据库

    假如我们已经创建好了一个数据库,随着功能需求的增加,想在数据库中再添加一个表,如果直接在之前的代码中插入一个表,会发现创建表失败,这是因为该数据库已经存在.该如何解决呢? 1.卸载程序,重新编译安装. ...

  7. Linux查看当前系统登录用户、登录日志、登录错误日志

    1.查看当前系统的登录用户 w who 2.查看成功登录历史记录 last -n 3.查看尝试登录失败的历史记录 lastb -n 4.显示每个用户最近一次登录成功的信息 lastlog

  8. (转)C#中Trim()、TrimStart()、TrimEnd()的用法 .

    C#中Trim().TrimStart().TrimEnd()的用法: 这三个方法用于删除字符串头尾出现的某些字符.Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格 ...

  9. 《将博客搬至CSDN》的文章

    我的CSDN地址 博客园应该以后会很少来了.

  10. LINQ数据库连接对象制造工厂

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...