【发布时间】:2016-01-30 00:49:52
【问题描述】:
我有一个表单,提交后我的控制器从该表单获取数据并发送到模型以根据_GET 信息从数据库中检索结果。
在我的表单中,有两个字段称为 min-year 和 max-year,我使用它们在数据库中的年份列中搜索这些数字之间的值。
_GET 数组在提交后就像'min-year'=>'something' 和'max-year'=>'something'。
_GET 数组在提交后就像 'min-year'=>'something' 和 'max-year'=>'something'。
HTML:
<input type='text' name='state' />
<input type='text' name='min-year' />
<input type='text' name='max-year' />
控制器:
$this->load->model('carinfo_model');
$where=($this->input->get());
$data['cars']=$this->carinfo_model->all_ad($where);
型号:
public function all_ad($where){
->select("*")
->from("cars")
->where($where)
$result=$this->db->get()->result_array();
return $result;
}
将_GET 数组转换为'->where()' 在所有其他列以及数据库中年份列的最小值/最大值之间搜索的可读数组的最快方法是什么?
我需要一个正确的方法来创建一个 'where' 语句(字符串或数组),它包含 所有其他输入字段加上一个'between'语句,全部在如果可能,从 $_GET 信息中查询一个
如果 min-year, max-year 或两者或任何其他字段以空值提交,结果应该基于其他字段,并且应该仍然能够从数据库中获取结果
请注意,我还有很多其他输入字段,这只是表单的一部分。
【问题讨论】:
-
也向我们展示您的代码
标签: database codeigniter search max min