代码点火器中的多重IF条件

时间:2015-01-23 09:18:04

标签: codeigniter if-statement combobox

我想用两个来自组合框的参数显示一些数据到表中

当我选择combobox'kategori'和combobox'选项'时,我希望数据可以在表格中显示,但是当我尝试这段代码时:

 foreach ($filter as $f) {

            if ( ($f['name'] == 'kategori' && $f['value'] == 'cake') && ($f['name'] == 'option' && $f['value'] == 'sweet') ) {


                $totalRecord = $this->nas->countRecord($filter);
                $this->load->library('pagination');
                $config['base_url'] = base_url('transaksi/report_nas/show/');
                $config['total_rows'] = $totalRecord;
                $config['per_page'] = 10;
                $config['uri_segment'] = 4;
                $this->config->load('pagination');
                $this->pagination->initialize($config);
                $data['pagination'] = $this->pagination->create_links();
                $data['total'] = $config['total_rows'];
                $start = (($page - 1) * $config['per_page']);
                $data['no'] = $start + 1;
                $data['records'] = $this->nas->recordsList($start, $config['per_page'], $filter);
                $data['filter'] = $filter;
                $data['shop'] = $shop;
                (count($data['records']) > 0 ) ? $this->load->view('transaksi/report_nas/table', $data) : $this->load->view('noevent');

               }

            } 

此语法不起作用:

if ( ($f['name'] == 'kategori' && $f['value'] == 'cake') && ($f['name'] == 'option' && $f['value'] == 'sweet') ) {

我也试过这个:

if ($f['name'] == 'kategori' && $f['value'] == 'cake') {
   if ($f['name'] == 'option' && $f['value'] == 'sweet')  {

他们都没有显示数据。

1 个答案:

答案 0 :(得分:0)

您正在设置不可能的条件。我会说你缺少逻辑OR而不是AND。这一行:

if ( ($f['name'] == 'kategori' && $f['value'] == 'cake') && ($f['name'] == 'option' && $f['value'] == 'sweet') ) {

应该被指向:

if ( ($f['name'] == 'kategori' && $f['value'] == 'cake') || ($f['name'] == 'option' && $f['value'] == 'sweet') ) {

因为 $ f ['name'] 不能同时等同于'kategori''选项'。它可以是一个或另一个,而不是两者。

可以找到有关PHP逻辑运算符的更多信息here