zoukankan      html  css  js  c++  java
  • phpcms的使用:get标签的sql语句中,如何使用变量

    get标签sql语句中如何使用变量?

    网上百度,都是静态的sql写法。如何给sql语句中,加入动态的变量呢?

    测试1---失败

     {pc:get sql="SELECT * from v9_news where status=99 and chengshi='{$chengshi}' and catid in(274,280,286)  order by id DESC" num="7" return="data"}
          //这种写法,读取不到。chengshi的值。
          //从phpcms的caches_templates里,可以看到对应的php模板文件,里面构造出来的查询语句,发现是chengshi=空值
    

    百度一下,sql中如何使用变量

    百度中得到的结果,使用@等等,那种方法,看着很恶心。

    最终的解决方案

    把使用的变量,全部都写在content模块的控制器,init方法里
    同时,要注意,html文件中的写法,和控制器的写法不一样了。
    注意的一些符号问题。最终写法是。

    //SEO
    		$SEO = seo($siteid);
    		$sitelist  = getcache('sitelist','commons');
    		$default_style = $sitelist[$siteid]['default_style'];
    		$CATEGORYS = getcache('category_content_'.$siteid,'commons');
    		//这里是新增的。新增城市编号和城市名字,以及城市拼音
    		$chengshi=$_GET['chengshi'];
    		$db = pc_base::load_model('city_model'); 
    		$_r = $db->get_one(array('id'=>$chengshi)); 
    		$cityname = $_r['name'];
    		$cityurl=$_r['pinyin'];
                      // 写在模板调用之前,为了所有的模板,都可以使用这些变量
    		include template('content','index',$default_style);
    

    这种方法是可以,但是,在模板中,数据一直是静态的,改变不了。怎么办?

    原来是判断城市入口以后,做了一个chengshi的重新赋。写死了。
    去掉那个写死的判断就好了。

    pc两种标签的写法不一样

    //pc get中的sql中的where使用变量
    	{php $where = "status=99 and find_in_set('$chengshi', chengshi) and catid in(274,280,286) "}
    	 {pc:get sql="SELECT * from v9_news where $where order by id DESC" num="7" return="data"}
    //pc content里中的where使用变量
          {php $where = "zhiding=1 and find_in_set('$chengshi', chengshi)"}
          {pc:content action="lists" catid="265"  where="$where"   siteid="1"  num="1"  order="inputtime desc"}
    
  • 相关阅读:
    jQuery动态效果学习笔记
    jQuery HTML操作学习笔记
    学习编程有必要做笔记吗?
    2017阿里巴巴面试技术挑战赛试题泄露
    来自IOS开发工程师的零基础自学HTML5经验分享
    前端学习笔记之HTML DOM操作
    web前端攻城狮整理的收藏夹
    WEB前端开发初学者必看的学习路线(附思维导图)
    搜狗员工用百度算什么,谷歌员工当着老板的面用bing,结果悲剧了!
    常用站长工具软件汇总,有没有一款你在用?
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/12879846.html
Copyright © 2011-2022 走看看