我如何在CodeIgniter中使用多个相似的查询

时间:2018-02-04 09:52:11

标签: php codeigniter

我想在单行代码中使用多个查询。但它不适用于多个。它仅适用于一个查询。

这是我的代码:

$kuafor = $this->input->post("kuafor");
$donem = $this->input->post("donem");
$ilk_tarih = $this->input->post("ilk_tarih");
$son_tarih = $this->input->post("son_tarih");

$ara = $this->db->select("*")         
       ->or_like(array("kuafor_id"=> $kuafor, "tarih"=> $donem))
       ->or_like(array("tarih >="=> $ilk_tarih, "tarih <="=> $son_tarih))
       ->get("hesaplar");

foreach($ara->result_array() as $row){        
    if(!empty($row["tarih"])){
        echo "var";
    } else {
        echo "yog";
    }
}

修改

这是我的SQL代码:

CREATE TABLE `hesaplar` (
  `id` int(11) NOT NULL,
  `kuafor_id` int(11) NOT NULL,
   `tarih` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Tablo döküm verisi `hesaplar`
--

INSERT INTO `hesaplar` (`id`, `kuafor_id`, `tarih`) VALUES
(12, 3, '2018-02-03', 13, 3, '2018-02-04' );

2 个答案:

答案 0 :(得分:1)

尝试分隔每个like语句:

$ara = $this->db->select("*")         
      ->or_like("kuafor_id", $kuafor)
      ->or_like("tarih", $donem)
      ->or_like("tarih >=", $ilk_tarih)
      ->or_like("tarih <=", $son_tarih)
      ->get("hesaplar");

答案 1 :(得分:0)

您应该使用or_where代替or_like

->or_where(array("tarih >="=> $ilk_tarih, "tarih <="=> $son_tarih))