Codeigniter - 尝试计算文章视图

时间:2013-12-31 07:31:15

标签: codeigniter view count

我正在使用codeigniter并拥有一个控制器和3个模型函数来读取,插入和更新一列表。 我想从db获取视图计数并根据每个视图更新它! 但更新后,一个额外的行添加到表! content_id的值为零。 请检查一次!

这是我的控制者:

  public function daily_report($id="")
  {

    $counter=$this->home_model->counter($id);
    if($counter)
    {
        $view=$this->home_model->counter($id)->row()->view;

        $views=$view+1;


        $this->home_model->update_counter($views,$id);
    }
    else{

        $views=1;

        $this->home_model->set_counter($views,$id);

    }
  }

这是模型功能:

  public function counter($id)
{
    $code=$id;
    $lang=$this->session->userdata('lang');
    $data = $this->db
        ->select('view')
        ->from('tbl_views')
        ->where("content_id",$code)
        ->where("language",$lang)
        ->get();

    if ($data->num_rows() > 0) {

        return $data;
    }else{
        return false;
    }
}
public function set_counter($views,$id)
{
    $data = array(

   'content_id' => $id ,
   'view' => $views,
   'language'=>$this->session->userdata('lang')
    );

   $this->db->insert('tbl_views', $data);
}

public function update_counter($views,$id)
{

$data = array(

            'view' => $views,

                );
    $this->db->where('content_id', $id);
    $this->db->update('tbl_views', $data);  
}

0 个答案:

没有答案