如果条件php使用for循环计数器

时间:2015-10-24 03:35:30

标签: php mysql datatable datatables

下面是我的数据表列搜索代码以及完整搜索

$columns = array(0 => 'ship_id' , 
                     1 => 'sr', 
                     2 => 'ce', 
                     3 => 'sto',
                     4 => 'supply' , 
                     5 => 'part',
                     6 => 'description',
                     7 =>  'quantity',
                     8 =>  'date',
                     9 =>  'shipn',
                     10 => 'ship',
                     11 => 'transport', 
                     12 => 'docket',
                     13 => 'delivery');

if(isset($searchValue) && $searchValue != '')
        {
            $searchingAll = array();
            for($i=0; $i<count($columns); $i++) //Loop search in all defined columns
            {
                $searchingAll = $this->db->or_like($columns[$i], $searchValue);
                $searchingColumns = NULL;
            }
        }
        else if($this->input->post('columns[1][search][value]', TRUE) != '')
        {
            for($i=0; $i<count($columns); $i++) //Loop search in all defined columns
            {
                $searchingAll = NULL;
                $searchingColumns = $this->db->or_like($columns[1], $this->input->post('columns[1][search][value]', TRUE));
            }   
        }
        else
        {
            $searchingAll = NULL;
            $searchingColumns = NULL;
        }

第一个IF条件将搜索完整的数据表,否则 - 如果将搜索单个列,

我的数据表中有12列,所以我需要循环12次 - 如果条件,

在上面的代码中,我目前只显示第1列,但是我需要检查所有12列,在任何列搜索中输入的内容然后它将转到for-if条件的循环,

如何检查else-if条件下的所有12列?

谢谢,

1 个答案:

答案 0 :(得分:1)

您没有使用$i中定义的else if
请改用:

    $columns = array(0 => 'ship_id' , 
                 1 => 'sr', 
                 2 => 'ce', 
                 3 => 'sto',
                 4 => 'supply' , 
                 5 => 'part',
                 6 => 'description',
                 7 =>  'quantity',
                 8 =>  'date',
                 9 =>  'shipn',
                 10 => 'ship',
                 11 => 'transport', 
                 12 => 'docket',
                 13 => 'delivery');

    if(isset($searchValue) && $searchValue != '')
    {
        $searchingAll = array();
        for($i=0; $i<count($columns); $i++) //Loop search in all defined columns
        {
            $searchingAll = $this->db->or_like($columns[$i], $searchValue);
            $searchingColumns = NULL;
        }
    }
    else if($this->input->post('columns[1][search][value]', TRUE) != '')
    {
        for($i=0; $i<count($columns); $i++) //Loop search in all defined columns
        {
            $searchingAll = NULL;
            $searchingColumns = $this->db->or_like($columns[$i], $this->input->post('columns['.$i.'][search][value]', TRUE));
        }   
    }
    else
    {
        $searchingAll = NULL;
        $searchingColumns = NULL;
    }