欢迎来到素材无忧网,按 + 收藏我们
登录 注册 退出 找回密码

帝国CMS灵动标签调用多表多模型文章信息的写法

时间: 2024-02-25 09:30 阅读: 作者:素材无忧网

要提高这条语句在页面中的性能 博主将这个片段写入了自定义页面

这样就能在需要的页面 区域调用出来 而不需要时时访问数据库

大约10分钟刷新一次 降低了 大数据下访客每次访问时都要查询多次数据库的巨大压力

帝国7的包含自定义页面可以这么写

注意:page1.html在根目录。若在t目录则写成"t/page1.html"

[includefile]'../../page1.html'[/includefile] 注意:开启"[includefile]"标签 后台--模板--标签--标签管理--修改(选择对应标签)--开启

----------------------------------------------------------------------

1、调用多模型的最新文章

[e:loop={'select * from (

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_movie where newstime union

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_news where newstime union

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_photo where newstime union

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_flash where newstime union

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_article where newstime

) a order by newstime desc limit 10',10,24,1}]


[/e:loop]

帝国CMS多表调用最新信息,该演示代码为默认数据表下全站最新10条图片信息,自己根据需求可以附加条件,实现全站点击,全站头条,全站推荐等等.

注释:以上多个模型用"Union"连接调用

若只调用图片:要加ispic=1条件

举例:

[e:loop={'select * from (

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_news where newstime and ispic=1 union

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_photo where newstime and ispic=1 union

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_flash where newstime and ispic=1 union

select id,classid,titleurl,filename,title,newstime,titlepic from [!db.pre!]ecms_article where newstime and ispic=1) a order by newstime desc limit 10',10,24,1}]

"/>

[/e:loop]

---------------------------------------------------------------------------------

2、调用多模型的最新文章

[e:loop={'select title,titleurl,titlepic from [!db.pre!]ecms_photo Union All select title,titleurl,titlepic from [!db.pre!]ecms_download Union All

select title,titleurl,titlepic from [!db.pre!]ecms_news',0,24,0}]


[/e:loop]

注释:以上调用的是(图片模型:photo、下载模型:download、新闻模型:news)三个模型的文章

三个模型用"Union All"连接调用

若指定栏目用:where classid in(46,47,51),

若调用推荐在其后追加:and isgood=1,

若指定调用条数在其后追加:limit 10

举例:

多表调用 同时显示"标题"所在的"栏目名称"和"链接" 及以"点击排行"

[e:loop={"select titleurl,title,onclick,classid from phome_ecms_news union all select titleurl,title,onclick,classid from phome_ecms_article order by onclick desc limit 10",1,24,0}]

  • |
  • [/e:loop]

    ---------------------------------------------------------------------------------

    3、多表联合查询"主、副"表调用文章

    [e:loop={'select * from (

    (select id,classid,title,titleurl,titlepic,newstime from [!db.pre!]ecms_download limit 3 )

    Union All

    (select id,classid,title,titleurl,titlepic,newstime from [!db.pre!]ecms_movie limit 3)

    ) as A order by newstime desc ',0,24,0}]

    $fb=$empire->fetch1("select *

    from

    (

    (select id,classid,downpath from {$dbtbpre}ecms_download_data_1 where id='$bqr[id]' and classid='$bqr[classid]')

    Union All

    (select id,classid,downpath from {$dbtbpre}ecms_movie_data_1 where id='$bqr[id]' and classid='$bqr[classid]')

    ) as A");

    $olurl=explode('::::::',$fb['downpath']);

    ?>

  • " alt="">

    下载地址:

  • [/e:loop]

    注释:以上调用的是(下载模型:download、电影模型:movie)两个模型,并电影副表中下载地址"downpath"(电影副表下载地址未调出,因为里面没有东西)

    两个模型用"Union All"连接调用

    $olurl=explode('::::::',$fb['downpath']); 真实下载地址的分割

    版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

    转载请注明: 帝国CMS灵动标签调用多表多模型文章信息的写法

    模板推荐