phpcms where子句

  1. {php $where = "typeid=$t"}
  2. {pc:content action="lists" catid="$catid" where="$where" order="id DESC" num="30"}
  3. ...
  4. {/pc}

使用phpcms制作筛选页面时用的了where子句,但发现使用where子句之后$catid失效,网上搜索找到问题原因,看以下代码

用的是content->classes->content_tag.class.php->lists()方法

  1. $catid = intval($data['catid']);
  2.                 if(!$this->set_modelid($catid)) return false;
  3.                 if(isset($data['where'])) {
  4.                         $sql = $data['where'];
  5.                 } else {
  6.                         $thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
  7.                         if($this->category[$catid]['child']) {
  8.                                 $catids_str = $this->category[$catid]['arrchildid'];
  9.                                 $pos = strpos($catids_str,',')+1;
  10.                                 $catids_str = substr($catids_str, $pos);
  11.                                 $sql = "status=99 AND catid IN ($catids_str)".$thumb;
  12.                         } else {
  13.                                 $sql = "status=99 AND catid='$catid'".$thumb;
  14.                         }
  15.                 }
复制代码

当where属性定义了,catid的作用在于确定数据模型,而在SQL语句中,catid并不起作用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值