文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

phpcms v9 get标签各种调用代码整理

2022-06-12 01:54

关注

phpcms标签调用 很多时候phpcms是我们做项目的时候用到的最好的内容发布系统了,虽然用别人的东西未免对于高手来说不耻了一些,但是能够有效的提高我们的工作效率未必也不是一件坏事

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}

不知道有没有朋友在使用中遇到这几种方法不能满足需求的时候呢?

例如:取出评论数最多的第3条到第10条记录,有人说我是多此一举,一般取最多评论没理由不取第一和第二条,因为PHPCMS的缩略图对4:3这样的尺寸比较好,对长条形(如3:4)的图片缩略效果不好,为了自己手动更新评论最多的第一和第二条记录,故此不想自动更新读取前两条。


复制代码代码如下:

<ul>

<!--{get sql="select A.contentid,A.catid,A.title,A.thumb,A.description,A.url,A.status,A.updatetime,B.contentid,B.hits,B.comments from `phpcms_content` as A INNER JOIN `phpcms_content_count` as B ON A.contentid=B.contentid and A.status=99 and LENGTH(A.thumb)>0 order by B.comments desc LIMIT 3,7"}-->

<li><span>{$r[comments]}人参与评论</span>·<a href="{$r[url]}" title="{$r[title]}">{str_cut($r[title], 28)}</a></li>

<!--{/get}-->

</ul>

关键点就在 order by B.comments desc LIMIT 3,7 (表示从第3条记录开始,向下读取7条数据)这个在mysql是经常用,我抱着试试看的想法,结果是可以的。

希望做PHPCMS开发的朋友共同学习和分享

phpcms V9 保留了2008的get标签的使用方法

它包括了2种方式一种是内部数据,另一种是外部数据

我们先分析下内部数据的使用方法

1、内部数据的调用


复制代码代码如下:

{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是调用的条数

2、外部数据的调用


复制代码代码如下:

{ pc : get sql = "SELECT * FROM phpcms_member" cache = "3600" page = "$page" dbsource = "discuz" return = "data" }

<ul>

{ loop $data $key $val }

{ $val [ username ]}< br />

{ /loop}

</ ul >

{ $pages }

{/ pc }

一个是数据源,一个是产生的pages翻页效果

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯