Как загрузить страницу просмотра в соответствии с условием - PullRequest
0 голосов
/ 17 ноября 2018

У меня есть две радиокнопки и один флажок. Если включена только радиокнопка, я хочу загрузить одну страницу просмотра (Receipt_view), если отмечены и радиокнопка, и флажок, я хочу загрузить другую страницу просмотра (Receipt_View1) ... Моя проблема, если оба переключателя и флажок установлен, я получаю вывод как 2 страницы просмотра (то есть загружаются обе страницы просмотра и загружаются Receipt_view и Receipt_view 1), но я хочу, чтобы Receipt_view1 загружался, когда оба переключатель и флажок установлен Код контроллера:

    if ($this->input->post('all'))
        {
        $this->db->where('date >=', $newDate);
        $this->db->where('date <=', $newDate2);
        $this->db->select('*');
        $this->db->from('purchasebill');
        $this->db->order_by("date", "asc");
        $this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
  $query = $this->db->get()->result_array();
        $data['query'] = $query;
        $this->load->view('Receipt_View', $data);

}

    if($this->input->post('all'))
    {
        if($this->input->post('item')){

        if ($this->input->post('all'))
        {
            if($this->input->post('item')){
            $this->db->where('billdate >=', $newDate);
        $this->db->where('billdate <=', $newDate2);
        $this->db->select('vno,Prdtname,Qty,bundle');
        $this->db->from('purchaseitem');
            $this->db->order_by("vno", "asc");
            //$this->db->join('purchasebill', 'purchasebill.no = purchaseitem.billno','left outer');
            //$this->db->join('parmaster','parmaster.pcode = purchasebill.partyname');
            $this->db->join('itemmaster','itemmaster.itcode = purchaseitem.Product_Code','left outer');
            $query = $this->db->get('')->result_array();
            $data['query'] = $query;
            $this->db->where('date >=', $newDate);
            $this->db->where('date <=', $newDate2);
            $this->db->select();
            $this->db->from('purchasebill');
            $this->db->order_by('voucherno');
            $this->db->group_by('voucherno');
            $this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
            $query = $this->db->get('')->result_array();
            $data['query1'] = $query;
            $this->load->view('Receipt_View1',$data);

    }}
if($this->input->post('selected'))
    {

        if($name = $this->input->post('businessType'))
        {
            $this->db->where('date >=', $newDate);
        $this->db->where('date <=', $newDate2);
        $this->db->where('PName',$name);
        $this->db->select('*');
        $this->db->from('purchasebill');
        $this->db->order_by("date", "asc");
        //$this->db->join('salesbill', 'salesbill.no = salesitem.billno','left outer');
        $this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
        $query = $this->db->get('')->result_array();
  $data['query'] = $query;
  $this->load->view('Receipt_View', $data);

      }
}

HTML-страница:

<input type="radio" class='rd'name="all" value="op1" checked="">All
<input type="radio" name="selected" class='rd' value="op2"> Selected
<input type="checkbox" name="item" >Item description

Все и выбранные - это имя переключателя, а элемент - имя флажка. Помогите мне решить эту проблему.

Ответы [ 3 ]

0 голосов
/ 17 ноября 2018

написать функции в блоке else, вы не используете else с условием if ..

0 голосов
/ 21 ноября 2018

Используя операторы elseif и &&, мы можем загрузить в соответствии с условием

    if ($this->input->post('all'))
        {
        $this->db->where('date >=', $newDate);
        $this->db->where('date <=', $newDate2);
        $this->db->select('*');
        $this->db->from('purchasebill');
        $this->db->order_by("date", "asc");
        $this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
  $query = $this->db->get()->result_array();
        $data['query'] = $query;
        $this->load->view('Receipt_View', $data);

}

    else if(($this->input->post('all')) &&($this->input->post('item')))
    {




        $this->db->select('vno,Prdtname,Qty,bundle');
        $this->db->from('purchaseitem');
            $this->db->order_by("vno", "asc");
            $this->db->join('itemmaster','itemmaster.itcode = purchaseitem.Product_Code','left outer');
            $query = $this->db->get('')->result_array();
            $data['query'] = $query;
            $this->load->view('Receipt_View1',$data);

    }}
else if($this->input->post('selected'))
    {

        if($name = $this->input->post('businessType'))
        {
            $this->db->where('date >=', $newDate);
        $this->db->where('date <=', $newDate2);
        $this->db->where('PName',$name);
        $this->db->select('*');
        $this->db->from('purchasebill');
        $this->db->order_by("date", "asc");
        //$this->db->join('salesbill', 'salesbill.no = salesitem.billno','left outer');
        $this->db->join('parmaster','parmaster.Pcode = purchasebill.partyname','left outer');
        $query = $this->db->get('')->result_array();
  $data['query'] = $query;
  $this->load->view('Receipt_View', $data);

      }
}
0 голосов
/ 17 ноября 2018

Вы не сказали нам, что происходит, когда ни один из них не проверен, поэтому я не упоминаю этот случай здесь, но вы можете сделать что-то вроде:

if ($this->input->post('all')) {
    //do something with purchasebill, no need to repeat the code
    //check if the checkbox is checked:
    if($this->input->post('item')) {
       // do something with purchaseitem
       $this->load->view('Receipt_View1',$data);
    } else {
       $this->load->view('Receipt_View',$data);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...