使用PHP代码点火器按类别查看事件

时间:2016-09-17 06:12:18

标签: php sql codeigniter

我在 PHP 中没有取得进展,我需要一些帮助:

我有一个名为events

的列event_type

我想点击business时,我会在business类别下获取所有活动。同样适用于education ...

这是我的观点,View Image here

这是来自视图business类别的代码段。 `

                <div class="sell-or-buy">

                    <div class="icon">
                        <i class="et-line-briefcase"></i>
                    </div>

                    <div class="clear"></div>

                    <div class="content">

                        <h3 class="uppercase">Business</h3>

                        <p>
                            Business is always Good when you talk of a good setup. Get
                            the best Meetings right here.
                                <br>
                        </p>
                        <a href="<?php echo base_url('index.php/home/category' . $data['event_type'])?>">View</a>

                    </div>

                </div>

            </div>`

我不知道如何配置我的控制器和我的模型

。 我正在使用 Code Igniter 3.0 with PHP

2 个答案:

答案 0 :(得分:1)

好的。我从你的问题得到的是,你有eventsevent_type,你想根据点击/触发的事件获取事件数据。

从您发布的网址中看来,Home是您的控制器,而category是该功能,您将event_type传递给该功能

<?php echo base_url('index.php/home/category/' . $data['event_type'])?>

所以你的控制器功能会像这样(我希望你按照CI用户指南来定义控制器);

//Controller function
    function category($event_type)
    {

    // pass the received event_type to your model
    $this->load->model('event_model');
    $data['events'] = $this->event_model->get_events($event_type);

    // Pass the data to your views
    $this->load->view('events',$data);
}


// Model code goes like this
function get_events($event_type)
{
  **// result() returns object where as result_array() returns array**
   $query = $this->db->get_where('events',array('event_type'=>$event_type))->result();
   if (count($query) > 0)
   {
      return $query;
   }
   else
      return false;
}

如果有任何疑问,请告诉我。

答案 1 :(得分:1)

  

没有模型依赖

家庭控制器:

public function category($event_type= false){
    if($event_type !=false){
        $this->db->select('*');
        $this->db->where('event_type', $event_type);
        $data[events] = $this->db->get('events')->result_array();

        //Also query & pass all event_type into view $data[event_type]
        $this->load->view('category_view', $data);
    }else{
        redirect('index.php/home/index'); //might be home page
    }
}

category_view:

 //Foreach events data by $events or check by var_dump($events)
//Generate url by foreach event_type or use custom 
<a href="<?php echo base_url('index.php/home/category/business')?>">Business</a>
<a href="<?php echo base_url('index.php/home/category/education')?>">Education</a>

-------------------------------或--------------- -------------------------

  

编辑:使用模型(使用模型和通用查询功能)。

<强>控制器:

public function category($event_type= false){
    if($event_type !=false){
        $this->load->model('model_name');

        $where = array('event_type'=>$event_type);
        $data[events] = $this->model_name->get_data('events', $where));

        //Also query & pass all event_type into view $data[event_type]
        $this->load->view('category_view', $data);
    }else{
        redirect('index.php/home/index'); //might be home page
    }
}

<强>型号:

public function get_data($table, $where=false){
    $this->db->select('*');
    if($where != false){ 
        $this->db->where($where);
    }
    return $this->db->get($table)->result_array();

}