thinkphp求助?怎么多条件查询?(条件不确定的情况下)

时间:2022-09-24 14:36:52
假如有一下几个条件: 性别、年龄、最高分、最低分;
随机给0-4个条件,去查询数据库的信息,应该怎么写逻辑最好啊,查询最快?
if(里面不知道应该怎么写post,因为不知道会接收到几个值) thinkphp求助?怎么多条件查询?(条件不确定的情况下)

4 个解决方案

#1


假定 $_POST 关联键与字段同名
将 去掉不属于字段信息的成员 后的 $_POST 出递给 where 方法

#2


多写几个条件就行了
if(!empty($name)){
   $where." name  = " = $name;
}
if(!empty($age)){
    $where." age= "  = $age;
}
$sql = "select * from table " .$where .$limit;
$result = $A->sql( $sql);

#3


引用 1 楼 xuzuning 的回复:
假定 $_POST 关联键与字段同名
将 去掉不属于字段信息的成员 后的 $_POST 出递给 where 方法
怎么去掉字段呢?用什么方法?

#4


$a = array('b'=>5,'a'=>1,'c'=>'m','a',9); //传入的数据
$k = array_flip(array('a','b','c','d')); //可能的键(M 函数车生的对象中应该就有)
$r = array_intersect_key($a, $k);
print_r($r);
Array ( [b] => 5 [a] => 1 [c] => m ) 

#1


假定 $_POST 关联键与字段同名
将 去掉不属于字段信息的成员 后的 $_POST 出递给 where 方法

#2


多写几个条件就行了
if(!empty($name)){
   $where." name  = " = $name;
}
if(!empty($age)){
    $where." age= "  = $age;
}
$sql = "select * from table " .$where .$limit;
$result = $A->sql( $sql);

#3


引用 1 楼 xuzuning 的回复:
假定 $_POST 关联键与字段同名
将 去掉不属于字段信息的成员 后的 $_POST 出递给 where 方法
怎么去掉字段呢?用什么方法?

#4


$a = array('b'=>5,'a'=>1,'c'=>'m','a',9); //传入的数据
$k = array_flip(array('a','b','c','d')); //可能的键(M 函数车生的对象中应该就有)
$r = array_intersect_key($a, $k);
print_r($r);
Array ( [b] => 5 [a] => 1 [c] => m )