我尝试在列" tgl_lapor"中创建搜索数据使用日期范围,但仍然会出错。
这是我的模特
function all($tgl_lapor,$id_tujuanlapor,$id_kategorilapor,$usergroup) {
$this->db->select('*');
$this->db->from('lapor');
if($tgl_lapor!=""){
$this->db->where("('tgl_lapor >=' ,$tgl_lapor) AND ('tgl_lapor <=' ,$tgl_lapor)");
}
这个控制器
public function index()
{
$tgl_lapor = $this->input->get('tgl_lapor');
这个视图
<th>
<input type="text" class="form-control" name="tgl_lapor" placeholder="From">
</th>
<th>
<input type="text" class="form-control" name="tgl_lapor" placeholder="To">
</th>
我收到错误
Error Number: 1241
Operand should contain 1 column(s)
SELECT * FROM (`lapor`) WHERE ('tgl_lapor >=' ,2015-01-24) AND ('tgl_lapor <=' ,2015-01-24)
Filename: D:\xampp\htdocs\zz\system\database\DB_driver.php
Line Number: 330
答案 0 :(得分:0)
2015-02-26更新:
嗨!
我猜测你需要将范围分成两个变量。
控制器
public function index() {
$tgl_lapor_from = $this->input->get('tgl_lapor_from');
$tgl_lapor_to = $this->input->get('tgl_lapor_to');
...
}
查看
<th>
<input type="text" class="form-control" name="tgl_lapor_from" placeholder="From">
</th>
<th>
<input type="text" class="form-control" name="tgl_lapor_to" placeholder="To">
</th>
模型
function all($tgl_lapor_from, $tgl_lapor_to, $id_tujuanlapor, $id_kategorilapor, $usergroup){
$this->db->select('*');
$this->db->from('lapor');
if($tgl_lapor_from!="" && $tgl_lapor_to!=""){
$query = 'tgl_lapor BETWEEN "$tgl_lapor_from" AND "$tgl_lapor_to"';
$this->db->where($query);
}
}
...否则,查询永远不会触及tgl_lapor列。你毕竟想要绑定两个不同的值(因为它是一个RANGE)。