內(nèi)容管理demo之Model-CI(codeigniter)PHP框架

字號:


    前面列出了MVC中的c和v 一直沒有拿出來M,今天貼出來了。
    class News_model extends CI_Model{
    public function __construct(){
    parent::__construct();
    $this->load->database();//這調(diào)用數(shù)據(jù)庫
    }
    public function get_news($pn){
    $pagesize = 3;
    if(!is_numeric($pn)||$pn<1)$pn=1;
    $allnum = $this->db->count_all('news');//所有news數(shù)據(jù)量
    if($allnum>0){
    $pagemax =ceil($allnum/$pagesize);
    $pn = min($pagemax,$pn);
    $begin = ($pn-1)*$pagesize;
    //條件查詢$this->db->get_where('table', array('id' => $id), $limit, $offset);
    $query = $this->db->order_by('id','desc')->get('news',$pagesize,$begin);
    foreach ($query->result() as $row){
    $temp[]=array('id'=>$row->id,'title'=>$row->title);
    }
    $query->free_result(); //釋放資源
    $data['list']=$temp;
    $data['pagedown'] = $pn+1<$pagemax?$pn+1:$pagemax;
    $data['pageup'] = $pn-1>1?$pn-1:1;
    $data['pagemax'] = $pagemax;
    }else{
    $data['list']=$array();
    $data['pageup'] = 1;
    $data['pagedown'] = 1;
    $data['pagemax'] = 1;
    }
    return $data;
    }
    public function addaction(){
    $this->load->helper('url');
    $data['title']=$this->input->post('title');
    $data['content']=$this->input->post('content');
    return $this->db->insert('news',$data);
    }
    public function get_news_id($id){
    if($id==""||!is_numeric($id)) return false;
    $this->db->where('id',$id);
    $query = $this->db->get('news');
    if($query->num_rows()>0){
    return $query->row_array();
    }else{
    return false;
    }
    }
    public function changeaction($id){
    if($id==""||!is_numeric($id)) return false;
    $data['title'] = $this->input->post('title');
    $data['content'] = $this->input->post('content');
    $this->db->where('id',$id);
    $this->db->update('news',$data);
    return true;
    }
    }