标签调用SQL 帝国、PHPCMS及织梦PK

  • 时间:
  • 浏览:4
  • 来源:河北快3投注平台-河北快3娱乐平台_河北快3下注平台

  对于一般的CMS用户,CMS系统默认的标签封装的越完整版,使用越简单越受欢迎,并且原因是个性化数据调用需求较多的用户,通常后该感觉系统内置的标签局限性这样来越多,缺乏灵活,特别是懂PHP或MYSQL的站长亲戚亲们们,更希望也能很方便的直接通过SQL语录在模板中自由调用数据库中的各种数据。

  我对PHP和MYSQL非要算精通,但能算CMS的高度用户,好多好多 前一天去测试一款CMS时,后该考虑这款CMS否是支持直接在模板中通过SQL语录来读取CMS系统内的原因内部管理数据源的数据。好多好多 前一天,希望突破内置标签的局限性,灵活自由的以各种形式来调用CMS数据库中的数据,特别是不同任务管理器池池间的数据整合调用时,支持SQL语录的标签也能省去好多好多 麻烦。

  不在 本文对帝国CMS、PHPCMS及DEDECMS这三款CMS中的支持通过SQL语录直接调用数据的标签作某些对比分析。

1.帝国CMS中直接通过SQL语录调用数据的标签:

如显示栏目id为1的10条新闻表记录

[ecmsinfo]"select * from phome_ecms_news where classid=1 order by id desc limit 10",10,500,0,24,1,0[/ecmsinfo]

  实际上帝国CMS中支持直接SQL语录调用数据的标签不止ecmsinfo这有另两个标签,所谓的灵动标签 (e:loop)、文字调用标签phomenews等。

  我想看 帝国CMS官方论坛有用户问过,帝国CMS的支持SQL语录的标签否是支持读取内部管理数据源,管理员WC的回复是只支持同有另两个数据库中的数据的读取,觉得你你这个不在 理解,实际是就帝国CMS的SQL数据调用功能不支持内部管理数据源的调用,原因原因是多套任务管理器池池安装到同有另两个数据库下,那某种就可不也能当作同一套任务管理器池池来处置数据,如同一数据库中安装了论坛 和帝国CMS,直接把论坛的数据表当作帝国CMS的自定义数据表来调用一样的道理。

  帝国CMS的SQL标签的优点再于,SQL语录查询结果某种在标签内部管理作了处置,用户可不也能直接在标签中定义标题截取长度、否是显示栏目名称、时间格式化等,有有哪些在PHPCMS及DEDECMS的这类标签中后该 都要直接在标签的innertxt中此人 作逻辑判断和调用函数处置的,这点对于普通用户还是比较方便的。毕竟,调用文章列表,要个性化的地方也就基本标题显示长度,时间显示格式,否是在前面显示栏目名及列表的模板样式,帝国本来我的标签都可不也能很好的实现,够用了。

2.PHPCMS中的直接通过SQL语录调用数据的标签:GET标签

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

{get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc" rows="10" page="$page"}

标题:{str_cut($r[title], 500)} URL:{$r[url]} 更新日期:{date('Y-m-d', $r[updatetime])}

{/get}

  在我看来GET标签是PHPCMS中好用的标签,要查询有哪些数据,直接写好SQL语录,使用GET标签,本来我可定自定义否是分页,分页每页显示的条数,分页的URL规则等等,GET标签之间的内容为读取出来的数组变量,可直接使用PHP模板语法输出,亦可调用全局函数或PHP原生函数进行数据处置后输出。整个处置过程很适合PHP任务管理器池池员的思维。

  GET标签的本来我优势是也能很方便的调用内部管理数据源,即其它任务管理器池池的MYSQL数据库,本来我不管否是在同一MYSQL中,不管是不在 同一台服务器,只都要在PHPCMS后台数据源管理处添加内部管理数据源的主机如localhost或服务器IP,本来我填写数据库名、数据库用户名及数据库密码,测试连接成功后,上端即可直接在模板中使用GET标签调用内部管理数据源。

get 标签调用内部管理数据示例(调用数据源为bbs,分类ID为1的10个最新主题,主题长度不超过2八个汉字,显示更新日期):

{get dbsource="bbs" sql="select * from cdb_threads where fid=1 order by dateline desc" rows="10"}

主题:{str_cut($r[subject], 500)} URL:http://www.pmume.com/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d', $r[dateline])}

{/get}

  这点是非常方便的,有另两个文章主站+论坛 ,本来我直接在主站首页调用论坛中的帖子,使用GET标签,可不也能以任何想实现的法律措施来读取论坛数据库的帖子,而其它任务管理器池池中则非要通过JS调用原因通过改任务管理器池池来实现。

  GET标签的优势还在于,原因是进行二次开发,新建有另两个abc.php页面,只都要引用PHPCMS的公共文件,即可直接使用PHPCMS的模板引擎,本来我在模板目录下新建有另两个abc.html即可在模板中使用GET标签调用任何想调用的内容。

  原因MYSQL数据库不在 同一服务器,在PHPCMS后台填好数据库设置,本来我在远程服务器的MY.INI文件中设置禁用域名DNS反向解析,本来我使用GET标签远程调用,高度会和同一台服务器相差无几,跨服务器数据调用非常方便。

  不过,我还不满足于此,还希望GET标签能直接调用其它类型的数据库数据,如SQL server中的数据,原因能实现本来我,那跨语言平台整合那将非常方便了。如主站是PHPCMS的,论坛是.NET,本来我原因GET标签也支持读SQL server中的数据,那果真无敌了。

3.DEDECMS中直接通过SQL语录调用数据的标签:SQL标签

如调用文章表中会员ID为1的会员发布的10条文章

{dede:sql sql='Select * from dede_archives where mid=1 limit 10'}

<a href='/plus/view.php?aid=[field:id/]' target='_blank'>[field:title/]</a>

{/dede:sql}

  从DEDECMS中SQL标签文档来看,该SQL标签直接使用SQL语录来调用简单的文章列表,还是非常方便的,处置好的innertxt也支持用PHP函数处置后输出,这点和PHPCMS中挺像,本来我貌似不在 PHPCMS的GET标签强大,不支持分页,更这样多支持分页的自定义URL格式。

  当然,一般的用于侧边栏调用某些内置标签不方便实现的数据,够用了。

  从这三款CMS的SQL标签来看,此人 还是更喜欢PHPCMS的GET标签,而DEDECMS中的SQL标签也比较灵活够用,至于帝国CMS的标签的SQL语录查询,觉得他和DEDECMS的SQL标签功能相当,本来我在帝国CMS体系内,支持SQL查询,也是有另两个非常不错的功能,但感觉上还是不太喜欢,原因根本问題,还原因某种就对帝国CMS标签的处置法律措施有很大“偏见”吧。

作者:落叶(t.qq.com/guohui) 网站:http://www.pmume.com

落叶原创首发CHINAZ,尊重版权,转载请保留作者信息及链接。

Tags: 帝国CMS   PHPCMS   织梦CMS   标签调用  
责任编辑:cc120