findAll 用变量的问题

#1 skyzong

$str = "'flag'=>0";
    if($bid){$str .= ",'bid'=>$bid";}
    if($sid){$str .= ",'sid'=>$sid";}
    if($tj){$str .= ",'tj'=>1";}
    $conditions = array( $str );
    $rs = spClass('lib_article')->findAll($conditions,'id DESC','id,title',$lmt);
array( $str )    这样写为什么不行呀???

2012-10-13 23:31:37

#2 血神

条件可以是数组?不理解

2012-10-14 14:31:30

#3 Pony

你是理解错了数组的定义方法,这种数组定义方法在PHP来说是完全错误的
要传入一个where条件,你可以选择定义一个key-value数组,或者直接传入一个string类型的condition

2012-10-14 17:53:42

#4 Pony

$conditions = array();
$conditions['flag'] = 0;
if($bid){$conditions['bid'] = $bid;}

if($sid){$conditions['sid'] = $sid;}
if($tj){$conditions['tj'] = '1';}

$rs = spClass('lib_article')->findAll($conditions,'id DESC','id,title',$lmt);
建议先学好基本功

2012-10-14 17:55:18

#5 jake

或者稍微花一点点时间看看手册

2012-10-15 15:39:24