您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
PHPCMSV9的SQL查询条件使用方法
访旋2025-05-19phpcms教程已有人查阅
导读1.添加查询条件2.同时调用指定栏目和指定推荐位3.同时调用两个不同表的相同字段4.调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;
1.添加查询条件
1、调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):
我抱着试试看的想法,结果是可以的。 phpcms V9 保留了2008的get标签的使用方法 它包括了2种方式一种是内部数据,
另一种是外部数据 我们先分析下内部数据的使用方法
1、内部数据的调用
实在是很遗憾 num是调用的条数
2、外部数据的调用
{php $sql5 = " pay_type_int = 24"} {pc:content action="lists" catid="11" moreinfo="1" where="$sql5" num="1" order="listorder asc,inputtime asc" page="$page" cache="$cachetime" }
2.同时调用指定栏目和指定推荐位
{pc:get sql="SELECT * FROM v9_house WHERE id IN (SELECT id FROM v9_position_data WHERE posid =2) or catid in(11,12) order by id DESC" num="7" return="data" }
3.同时调用两个不同表的相同字段
{pc:get sql="(select id,title,catid,inputtime from v9_house where status = 99) union (select id,title,catid,inputtime from v9_qiugou where status = 99) ORDER BY inputtime DESC limit 7 --" return="data"}
4.调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;
{pc:get sql="SELECT * FROM v9_news WHERE id IN (SELECT id FROM v9_position_data WHERE posid in(27,28) and catid in(59,60,61)) order by listorder DESC" cache="3600" start="3" num="7" return="data" }
PHPCMS V9的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}
7、当前栏目调用父级及以下栏目信息方法
{php $arrchildid = $CATEGORYS[$CAT[parentid]][arrchildid]}
{pc:get sql="SELECT * FROM v9_news where catid in($arrchildid) cache="3600" page="$page" num="12" return="data"}
不知道有没有朋友在使用中遇到这几种方法不能满足需求的时候呢? 例如:取出评论数最多的第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 class="xxnse_fen2">{$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 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翻页效果。
本文标签:
很赞哦! ()
相关教程
- SQLBot
- sql-llm-benchmark
- 帝国CMS8.0版本新增支持PostgreSQL和国产数据库
- 帝国CMS8.0新增支持PostgreSQL和国产数据库
- Navicat for MySQL
- shopxo的MySQL分组错误解决方法
- Ubuntu实现shopxo商城+Mysql主从复制+NFS
- shopxo怎么实现mysql备份
- shopxo报错No tables to hot-copy at /usr/local/bin/mysqlhotco
- android4.4+linuxdeploy+centos7+php-fpm+mysql+frp安装shopxo
- Discuz<7.2 SQL注入漏洞分析
- Win下IIS+php+mysql+zend+discuz完整安装教程
图文教程
phpcms<= v9.15 任意文件读取漏洞分析和利用示例
phpcms v9的phpcms\modules\search\index.php存在任意文件读取漏洞问题很明显,$_GET['q']的参数没有进行校验,直接调用了file_get_contents函数文件并显示内容
PHPCMSV9添加模板自定义全局变量的方法
在我们使用PHPCMS V9的制作网站模板的时候,使用全局模板变量能轻松调用,使用起来非常方便,而且可以统一修改,方便维护。
centos7上安装phpcms的步骤方法
不努力试试看,都不知道啥叫绝望第一步搭建 LAMP1.安装阿帕奇2.安装php3.安装mysql第三部 导入模板
phpcmsv论bug修复方法
当安装phpcms v9时,如果数据库名称包含大写字母,在发表第二条评论时,会报错:因为这个表已经存在,而程序在判断是否存在时返回不存在,我们来看下代码:
相关源码
-
(自适应)文案文档作文写作word资源网站模板下载本模板基于PbootCMS系统深度开发,针对电影解说、文案分享类网站的特殊需求设计。采用响应式布局技术,确保在手机端和桌面端都能呈现专业的内容展示效果,帮助运营者高效管理影视解说资源。查看源码 -
响应式艺考培训学校机构pbootcms模板html5源码基于PbootCMS免费开源内核开发,为艺考培训学校与艺术机构设计,替换图文即可快速适配全行业需求。响应式布局兼容手机/PC端,数据实时同步,运维效率提升300%。查看源码 -
(自适应)绿色新闻生活百科资讯文章博客类网站pbootcms模板源码本模板基于PbootCMS开发,为生活百科、资讯文章和博客类网站设计。采用清新绿色系风格,提供舒适的阅读体验,同时适配PC和移动设备。适用于生活技巧分享、健康知识传播查看源码 -
(自适应手机端)seo博客网站模板新闻资讯网站源码下载本模板为SEO博客及新闻资讯类平台深度定制,采用PbootCMS内核开发。通过模块化设计实现多行业快速适配,仅需替换图文内容即可转型为医疗、教育、科技等领域网站。响应式布局确保在手机、平板等设备上获得一致浏览体验。查看源码 -
(响应式)轴承机械五金零件产品pbootcms落地推广单页源码下载为轴承、机械零件等工业产品打造的响应式单页模板,基于PbootCMS内核开发,助力企业快速构建专业级产品展示页面。模板采用工业风设计语言,突出产品参数与性能优势,适用于设备制造商、零部件供应商等B2B场景推广。查看源码 -
(自适应响应式)pbootcms紫色美容整形机构企业模板下载基于PbootCMS内核开发的响应式网站模板,为医疗美容机构、整形医院等企业设计,提供完整的线上展示平台采用紫色系配色方案,整体风格专业大气。模板包含首页轮播、服务项目、专家团队、案例展示等核心模块,能够充分展示医疗美容机构的专业服务和特色优势。查看源码
| 分享笔记 (共有 篇笔记) |
