洞察趋势 多维度提升品牌价值

新闻动态

长沙网站开发_DWPCMS中sql标签动态调取数据--如何传递参数

所属栏目:发布日期:2016-10-14 08:11浏览量:2755作者:admin

最近的网站建设项目中,需要实现点击省市名称时弹出公司在该省的业绩情况,并自动计算业绩总和。

大概的情况如下图,前期设计师分割地图,前端工程师给每个省的省会城市进行定位,背景的定位,加上js函数都是非常辛苦的工作。后期由我负责数据的调取和js的调整。

数据调取方法有很多种,可以使用AJAX异步传输。但考虑到数据较多,公司规模较大,频繁访问数据库会占用较多资源。最终选择一次性直接调取所有数据生成静态页面,然后通过JS动态显示各省市的业绩状况。

在数据调取和JS控制中的关键是子栏目ID {dede:field.id/}(将每个省作为一个子栏目,业绩以文章形式添加)。主要HTML如下:

 

{dede:channelartlist typeid=’6’ row=’1000’}

XXX公司{dede:field.typename/}项目业绩表

工程名称

...

{dede:arclist row='1000' orderby='pubdate' addfields='tech_gy,scale_gm' channelid='1'}

  • [field:fulltitle function="mb_strlen(@me,'utf8')>22?mb_substr(@me,0,19,'utf8').'...':@me"/]

    [field:tech_gy/]

    [field:scale_gm/]

  • <>

    {/dede:arclist}

    {dede:sql sql="select sum(scale_gm) as 'total',count(scale_gm) as 'items' from `pgy_dment_article` where typeid= ~id~ "}

    注:合计处理规模

    [field:total runphp='yes']if(@me){@me=@me;}else{@me=0;}[/field:total]

    万吨/日

    {/dede:sql}

    {/dede:channelartlist} 

    以上结构很简单主要是channelartlist和arclist标签的嵌套使用,为了获得统计数据需要另外使用sql标签,但如何将当前栏目id传递给sql作为条件是本次遇到的难题。前面多次使用{dede:field.id/}进行取值,但在sql标签中不能嵌套使用其他的dede标签。

    查询资料才发现~ field~可以用于标签间的数据传递,类似于在栏目列表页中不需要指定父栏目id便可以直接使用list标签调用数据列表,可以理解为在调用数据时已经默认typeid=~reid~。

    这次只是简单的使用,~field~还有更强大的使用方法待各位去深入挖掘研究。

    最新新闻

    -长沙网站建设,长沙网站开发,长沙网站设计,长沙网站制作,长沙软件开发,长沙系统开发,长沙做网站公司,长沙蒲公英网络

    准备好做出改变了吗?

    让我们共同助力您的企业数字化革新

    您希望我们为您提供什么服务呢

    · · · · · · · · ·

    0731-84069615

    /

    扫一扫
    技术大牛与您直接沟通