如何在Codeigniter中显示或查看多个复选框WHERE条件

时间:2013-05-06 08:42:53

标签: php mysql codeigniter

我需要帮助。我无法在我的多选复选框值中应用 WHERE 条件子句。如果我选​​择'accounitng'或'php',那么我想在这里使用像 WHERE * (“技能”,“php”) *这里,技能表字段名称和php复选框选择值。如果我选​​择一个类别'PHP'所以所有'PHP'相关数据只显示。检查框选中的值以','逗号分隔保存到数据库中。比如 php,java,accounting,sql

对于我用于模型的保存数据:

public function saveInstituteOfferCourse($data = array()) {
        if ($this->db->insert('tbl_course_offred', $data)) {
            return $this->db->insert_id();
        }
        return FALSE;
    }

我使用的控制器:

public function saveCourses() {
        $data = array();
        $this->load->library('form_validation');
        $this->form_validation->set_rules('skill', 'skill', 'required');
        if ($this->form_validation->run()) {
            /* @var $skill user_admin_controller */
            $skill = implode(',', $this->input->post('skill'));
            $data['skill'] = $skill;
            $data['user_id'] = $this->session->userdata('user_id');
            $this->user_admin_model->saveInstituteOfferCourse($data);
            redirect("user_admin_controller/userAdminPanel");
        }
    }

我的工作流程喜欢:

首先:用户使用多个复选框选择许多技能,并将所选数据保存到数据库表中。

第二:如果有人点击php或java等前端页面上的类别,那么只显示php或java相关的数据信息/列表。

我怎么能这样做,请帮助我或建议我最好。如果可能的话,我会在codeignitor中提供源代码。

我的申请代码看看,

模型,

public function selectaccoutingins() {
        $this->db->select('*');
        $this->db->select('skill');
        $this->db->from('tbl_user_reg, tbl_course_offred');
        $this->db->where('skill', "php");
        // here, i use two table 1 for information collect and other for category match condition value show.

        $query_result = $this->db->get();
        $result = $query_result->result();
        $result = explode(",", $query_result->result);
        return $result;

    }

控制器,

function accounting_ins_list() {
        $data = array();
        $data['result'] = $this->welcome_model->selectaccoutingins();
        $data['catepage_list'] = $this->load->view('accounting_ins_list', $data, true);
        $this->load->view('hmcate_select_page', $data);
    }

视图,

               <tbody>
                    <?php

                    if($result) {
                    foreach ($result as $aresult) {
                    ?>
                    <tr>
                        <td><?php echo $aresult->institute_name;?></td>
                        <td><?php echo $aresult->contact_person; ?></td>
                        <td><?php echo $aresult->institute_address1;?></td>
                    </tr>
                    <?php } 

                    }   ?>
                </tbody>

这里我只想显示 PHP相关信息列表。请帮助我如何解决这个问题。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

你的意思是,如果你检查php和会计,它也会出现在你的视图中。 而且从两个表中选择数据也有问题吗?

您可以在此网站上查询查询数据 - http://ellislab.com/codeigniter/user-guide/database/active_record.html

我在这里有一个示例查询。

      $query = $this->db->query("SELECT * FROM logsTrans l,transType t 
                                WHERE l.transno = t.transno
                                AND t.transType = '$cat'                                    
                                AND date(l.transDate) >= '$dateF' 
                                AND date(l.transDate) <= '$dateT'");

            return $query->result();

我可以看到你想要得到的表格和数据吗?最好的问候......