PHPCMS v9中万能{pc:get}标签使用详解

网络 2020-12-25 本文共3809个字,预计耗時10分钟 749次阅读
文章摘要:phpcms的php标签很是受限,很多调用数据都是不全的,这时候就会想到phpcms还有个get标签,被称为万能标签,get标签很明显的特点是具有sql的语法特性。对SQL有一定的了解,就是你的绝世好剑!也就是适合熟悉SQL语句的人使用。有...

PHPCMS v9中万能{pc:get}标签使用详解

phpcms虽然已不再更新维护了,但是其用户还是蛮多的;对于phpcms的使用见得多的是php标签,但是php标签很是受限,很多调用数据都是不全的,这时候就会想到phpcms还有个pc:get标签,被称为万能标签,get标签很明显的特点是具有sql的语法特性。

phpcms

一、get 标签概述

pc:get标签是phpcms定义的能直接调用数据库里面内容的简单化、友好化代码,她可调用本系统和外部数据,只有你对SQL有一定的了解,就是你的绝世好剑!也就是适合熟悉SQL语句的人使用。有了她,我们打造个性化的网站,能非常方便的调用出数据库里面指定的内容。通过条件限制,我们可以调用出不同条件下的不同数据。

二、get标签样式

{pc:get dbsource=" " sql=" "}{/get}

三、get 标签语法

1.get标签属性值必须用双引号括起来 ” ” 

{pc:get sql=" " /}

2.get标签必须含有结束标记

即正确get标签必须是成对出现:整个Get标签含有结束标记“ {/pc}”,或者是“/”。

3.get标签里面含有的变量,数组和函数必须用“{}”包括。

{str_cut($r[title], 50)} 
{$r[url]}

4.get标签 sql语句中条数限制-rows

注:调取多条数据需使用使用loop标签循环

{pc:get sql=" " rows="10"}  //显示10条
{loop $data $r} //默认赋值$r (没有使用return)
{/loop}
{/pc}

5.get标签 sql语句中条件限制-where 

{pc:get sql="select * from phpcms_content where catid=1"}  //栏目ID为1
{$r[title]}  //标题
{$r[url]}   //URL
{/pc}

6.get标签 sql语句中排序- order by 

{pc:get sql="select * from phpcms_content order by updatetime desc" } //按日期降序(desc)
{$r[title} 
{$r[url]} 
{/pc}

7.get标签里面嵌套php函数

{date('Y-m-d', $r[updatetime])} //格式化输出时间

8.本系统数据调用(当前数据库调用)

{pc:get sql=""} {/pc}

或者

{pc:get sql="" return="r"} {/pc}

9.本系统数据调用10条

{pc:get sql="" rows="10"} {/pc}

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

{pc:get dbname="" sql="" } {/pc}

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

{pc:get dbsource="" sql=""} {/pc}

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

{pc:get dbsource="" dbname="" sql="" }{/pc}

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

{pc:get sql=" " page="$page"} {/pc}
分页:{$pages}

14.本系统数据调用,自定义返回变量

{pc:get sql=" " return="v"} {$v[ ]} {/pc}

{get}标签参数完整剖析

{pc: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"

六条完整get 标签代码示例

1.调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):

{pc:get sql="select * from phpcms_content where contentid=1" /}
标题:{str_cut($r[title], 50)}
URL:{$r[url]}
更新日期:{date('Y-m-d', $r[updatetime])}
{/pc}

2.调用本系统多条数据,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期):

{pc: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])}
{/pc}

3.带分页,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页):

{pc: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])}
{/pc}
分页:{$pages}

4.自定义返回变量,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,返回变量为 $v:

{pc: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])}
{/pc}

5.调用同一帐号下的其他数据库,示例(调用数据库为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):

{pc: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])}
{/pc}

6.调用外部数据,示例(调用数据源为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):

{pc: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])}
{/pc}

四、get 标签创建工具

1、获取get 标签代码

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

{pc: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]} //发布时间
{/pc}
{$pages} //分页

2、将代码插入到模板文件

get 标签代码如下:

{pc:get dbsource="discuz" sql="SELECT `author`,`subject`,`lastpost` FROM `cdb_threads` ORDER BY `lastpost` DESC" rows="3" }
{$r[author]}
{$r[subject]}
{$r[lastpost]}
{/pc}
版权免责申明
① 本站源码模板等资源SVIP用户永久不限量免费下载
② 所有资源来源于网络收集,如有侵权,请联系站长进行删除处理。
③ 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
④ 如果你有源码需要出售,可以联系管理详谈。
⑤ 本站提供的源码、模板、插件等等资源,都不包含技术服务请大家谅解。
⑥ 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。
⑦ 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。
⑧ 网站资源绝不做任何二次加密或添加后门(原版加密除外)
常见问题F&Q
需要积分的资源怎么下载?
您可以注册后签到等活跃动作获得积分,积分可下载,也可充值升级等级免费下载。
源码模板等文件安全吗?有没有后门病毒吗?
站内资源标有“已测试”标签的资源源码,表示已经在本地安装测试调试过才分享出来的,可以保证一定的安全;若不放心可以自行下载模板资源后使用D盾等查杀工具扫一遍确认安全。
本站网站模板等源码提供安装服务吗?
本站资源收集于网络并分享出来共同学习,不提供免费安装服务,模板源码安装等需要有一定熟悉度,小白用户可以下载资源后雇人安装调试。