Codeigniter Где пункт не работает - PullRequest
0 голосов
/ 08 мая 2018

Codeigniter Где предложение не работает при использовании переменной. Если я использую число непосредственно для $ price_min, это должно сработать.

пока я использую

$s=$this->db->where(' prize < ' , $price_max);

это будет возвращение

prize < [value] => '100' .

пока я использую $s=$this->db->where(' prize < ' , 100);

это вернет

prize < [value] => 100 .

Я думаю, что пока я использую переменную, это возвращение в строку Как изменить его на целое число?
Пожалуйста, следуйте моим кодам

function filter()
{      
        $state = $this->input->post("state");
        $type = $this->input->post('type');
        $bed = $this->input->post('bed');
        $bath = $this->input->post('bath');
    echo    $price_min=$this->input->post("price-min");  //output: 5

    echo    $price_max=$this->input->post("price-max");  //output: 100
        $this->db->where(' prize > ' , $price_min);
    $s=$this->db->where(' prize < ' , $price_max); 
    print_r($s); 
        $filterquery = $this->db->get('details');
        $records= $filterquery->result();
        return array(
            'records' => $records,
            'count' => count($records),
        );

}

1 Ответ

0 голосов
/ 08 мая 2018

Надеюсь, это сработает для вас:

function filter()
{      
    $state = $this->input->post("state");
    $type = $this->input->post('type');
    $bed = $this->input->post('bed');
    $bath = $this->input->post('bath');

    $price_min = $this->input->post("price-min");
    $price_max = $this->input->post("price-max");

    /*you can set 0 or whatever if post is empty i set null */
    $price_min = ! empty($price_min) ? intval($price_min) : NULL;
    $price_max = ! empty($price_max) ? intval($price_max) : NULL;

    /* you can also check with if statement
       if ($price_min != '' && $price_max != '') {
          $price_max  = intval($price_max);
          $price_min = intval($price_min);
          your where statement.....
       }
    */
    $this->db->where('prize >' , $price_min);
    $this->db->where('prize <' , $price_max);

    $filterquery = $this->db->get('details');
    $records = $filterquery->result();
    return array(
        'records' => $records,
        'count' => count($records),
    );
}
...