Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在codeigniter中使用日期范围进行搜索_Mysql_Codeigniter - Fatal编程技术网

Mysql 如何在codeigniter中使用日期范围进行搜索

Mysql 如何在codeigniter中使用日期范围进行搜索,mysql,codeigniter,Mysql,Codeigniter,我尝试在“tgl_lapor”列中使用日期范围搜索数据,但仍然得到错误 这是我的模型 function all($tgl_lapor,$id_tujuanlapor,$id_kategorilapor,$usergroup) { $this->db->select('*'); $this->db->from('lapor'); if($tgl_lapor!=""){ $thi

我尝试在“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)");    

        }    
这就是我的看法

                          <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
错误号:1241
操作数应包含1列
从(`lapor`)中选择*,其中('tgl_lapor>=',2015-01-24)和('tgl_lapor于2015-02-26更新:

我的猜测是你需要把这个范围分成两个变量

控制器

    public function index() { 
        $tgl_lapor_from = $this->input->get('tgl_lapor_from');
        $tgl_lapor_to = $this->input->get('tgl_lapor_to');
        ...
    }
看法


…否则,查询将永远不会触及tgl_lapor列。毕竟,您正在尝试绑定两个不同的值(因为它是一个范围)。

但我使用tgl_lapor来显示该列中的数据,您需要小心阅读错误消息。选择*from(
lapor
)WHERE('tgl_lapor>=',2015-01-24)和('tgl_lapor yes:D当我尝试你的答案时,错误变成了:'SELECT*FROM(
lapor
),其中('tgl_lapor>=',2015-01-24)和('tgl_lapor',这让我相信你可能正在寻找另一种方法来比较MySQL查询中的日期类型。
SELECT*FROM(
lapor
),其中'tgl_lapor'介于“2015-01-25”和“2015-02-25”
是的,你说得对。我只是尝试添加$tgl\u lapor\u from和$tgl\u lapor\u to,而不删除$tgl\u lapor\u。然后显示错误
    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);    
    }
}