ci框架学习整理

--

-- 表的结构 `yi_article`

--

 

CREATE TABLE IF NOT EXISTS `yi_article` (

  `id` int(11) unsigned NOT NULL auto_increment,

  `title` varchar(256) NOT NULL,

  `content` mediumtext NOT NULL,

  `add_man` varchar(20) NOT NULL,

  `add_time` datetime NOT NULL,

  `views` int(11) NOT NULL,

  `tag` tinyint(4) NOT NULL,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;

 

article.php

 

<?php

    class Article extends CI_Controller{

        public $tips;

        function __construct(){

            parent::__construct();

            //加载我自己的类库

            $this->load->library('myclass');

            $this->load->database();

            $this->load->helper('url');

            $this->tips=array(

                'required'=>' [%s] 是必须填写的!',

                'is_unique'=>'此 [%s] 已经存在,请输入其它名称!',

                'min_lenght'=>' [%s] 最小长度为 [%s]',

                'max_length'=>'[%s] 最大长度为 [%s]'

            );

        }

        function index(){

            echo "这里是文章的首页";

            echo "<br />";

            //加载url辅助函数

            $this->load->helper('url');

            $addr=site_url('article/article_list');

            echo "<a href='$addr'>查看文章</a>";

            $addr=site_url('article/article_page');

            echo "<a href='$addr'>查看分页</a>";

            

        }

        function article_list(){

            echo "这里是文章列表";

            //加载数据库模型

            //$this->load->model('article_model');

            //$this->article_model->index();

            //读取所有的文章

            $this->load->database();

            

            echo "<br />";

            $query=$this->db->where("id >",5)->select('id,title')->from('article')->order_by('id','desc')->limit(4)->get();

            $info=$query->result_array();//当然你可以用result()

            $this->myclass->p($info);

            echo "第一条记录的标题:".$info[0]['title'];

            echo "<br />";

            echo "第二条记录的标题:".$info[1]['id'];

            echo "<br />";

            

            echo "表article中共有这么些记录:".$this->db->count_all('article');

            echo "<br />";

        

            echo "本次共查询出这么些条记录:".$query->num_rows();

        }

        function article_page($page=1){

            ///////////////////////////////////

            $config=array();

            //第一步查询出总记录数

            $this->load->database();

            $config['total_rows']=$this->db->select('*')->from('article')->count_all_results();

            //每页记录数

            $config['per_page']=5;

            //基础url

            $this->load->helper('url');

            $config['base_url']=site_url('article/article_page');

            //显示的链接数

            $config['num_links']=100;

            //在地址栏显示当前页码

            $config['use_page_numbers']=true;

            //定义首页

            $config['first_link']='首页';

            //定义末页

            $config['last_link']='尾页';

            //上一页

            $config['prev_link']='上一页';

            //下一页

            $config['next_link']='下一页';

            

            //把分页包起来

            

            $config['full_tag_open']='<p>';

            

            $config['full_tag_close']='</p>';

            

            //第二步加载类库

            $this->load->library('pagination');

            $this->pagination->initialize($config);

            echo $this->pagination->create_links();

            /////////////////////////////////////

            $page=$page?intval($page):1;

            $start=($page-1)*$config['per_page'];

            $query=$this->db->select('*')->from('article')->limit($config['per_page'],$start);

        

            $info=$query->get()->result_array();

            $this->myclass->p($info);

            echo $this->pagination->create_links();

            //echo base_url('abc/def');

        }

        

        protected function _page($total_rows,$per_page,$base_url){

            ///////////////////////////////////

            $config=array();

            //第一步查询出总记录数

            //$this->load->database();////

            $config['total_rows']=$total_rows;

            //每页记录数

            $config['per_page']=$per_page;

            //基础url

            $this->load->helper('url');////

            $config['base_url']=site_url($base_url);

            //显示的链接数

            $config['num_links']=100;

            //在地址栏显示当前页码

            $config['use_page_numbers']=true;

            //定义首页

            $config['first_link']='首页';

            //定义末页

            $config['last_link']='尾页';

            //上一页

            $config['prev_link']='上一页';

            //下一页

            $config['next_link']='下一页';

            

            //把分页包起来

            

            $config['full_tag_open']='<p>';

            

            $config['full_tag_close']='</p>';

            

            //第二步加载类库

            $this->load->library('pagination');

            $this->pagination->initialize($config);

            return $this->pagination->create_links();

            /////////////////////////////////////

        }

 

        function page($page=1){

            $config['per_page']=5;

            $page=$page?intval($page):1;

            $start=($page-1)*$config['per_page'];

            $query=$this->db->select('*')->from('article')->limit($config['per_page'],$start);

        

            $info=$query->get()->result_array();

            return $info;

 

        }

        function article_add(){

            $this->load->library('form_validation');

            //开始设置验证规则

            //set_message可以传一个一维数组

            $chinesetips=$this->tips;

            $this->form_validation->set_message($chinesetips);

            /*

            $this->form_validation->set_message('required', ' [%s] 是必须填写的!');

            $this->form_validation->set_message('is_unique', '此 [%s] 已经存在,请输入其它名称!');

            $this->form_validation->set_message('min_length', ' [%s] 最小长度为 [%s]');

            $this->form_validation->set_message('max_length', ' [%s] 最大长度为 [%s]');

            */

 

            $this->form_validation->set_rules('title','标题','trim|required|is_unique[article.title]|min_length[6]|max_length[12]');    

            $this->form_validation->set_rules('content','内容','required');

            $this->form_validation->set_rules('tag','状态','required');

            if($this->form_validation->run()==true){

                echo "表单验证成功!";

                print_r($this->input->post());

                $data=$this->input->post();

                unset($data['Submit']);

                $data['add_time']=date('Y-m-d H:i:s');

                $data['views']='0';

                $st=$this->db->insert('article',$data);

                if($st){

                    echo "数据插入成功!";

                    echo "新的id为:".$this->db->insert_id();

                }

                //echo get_magic_quotes_gpc();

            }else{

                echo "表单验证失败!";

                echo "<br />";

                echo validation_errors();

            }

        }

        function article_add_viewer(){

            $this->load->helper('url');

            

            $this->load->view('article_add');

        }

        function article_links(){

            $addr=site_url('article/article_mod_viewer/19');

            echo "<a href='$addr'>修改19</a>";

        }

        function article_mod_viewer($id){

            if($id==""){

                echo "没有传递参数";

                exit;

            }

            $this->load->helper('url');

            //从数据库中查出来

            $query=$this->db->select()->from('article')->where('id',$id)->get();

            $info=$query->row_array();

            print_r($info);

            

            $this->load->view('article_mod',$info);

        }

 

        function abc($val){

            $this->form_validation->set_message('abc','不行');

            //p($val);

            return true;

        }

        function article_mod(){

            $this->load->library('form_validation');

            //开始设置验证规则

            //set_message可以传一个一维数组

            $chinesetips=$this->tips;

            $this->form_validation->set_message($chinesetips);

            

 

            $this->form_validation->set_rules('title','标题','trim|required|min_length[6]|max_length[12]|callback_abc');    

            $this->form_validation->set_rules('content','内容','required');

            $this->form_validation->set_rules('tag','状态','required');

            if($this->form_validation->run()==true){

                echo "表单验证成功!";

                print_r($this->input->post());

                $data=$this->input->post();

                $id=$data['id'];

                

                unset($data['id']);

                unset($data['Submit']);

                $data['add_time']=date('Y-m-d H:i:s');

                $data['views']='0';

                //p($data);

                $st=$this->db->where('id',$id)->update('article',$data);

                

                if($st){

                    echo "数据修改成功";

                }else{

                    echo "数据修改失败";

                }

            }else{

                echo "表单验证失败!";

                echo "<br />";

                echo validation_errors();

            }

        }

        

        

        function article_del($id=''){

            if($id==""){

                //exit('请传id');

            }

            $id=array(17,18,19);

            $this->db->where_in('id',$id)->delete('article');

            $st=$this->db->affected_rows();

            echo $st;

            if($st){

                echo "数据删除成功!";

            }else{

                echo "数据删除失败!";

            }

        }

 

    }

?>

 

article_add.php

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<meta name="author" content="Www.XiaZaiBa.Com" />

<title>无标题 1</title>

</head>

<body>

 

<form name="form1" action="<?php echo site_url('article/article_add')?>" method="post">

标题:<input name="title" type="text" value="" /><br />

内容:<input name="content" type="text" value="" /><br />

添加人:<input name="add_man" type="text" value="" /><br />

添加时间:系统自动记录<br />

状态:<input name="tag" type="radio" value="1" />显示 <input name="tag" type="radio" value="0" />隐藏<br />

<input type="submit" name="Submit" value="提交" />

</form>

</body>

</html>

 

article_mod.php

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<meta name="author" content="Www.XiaZaiBa.Com" />

<title>无标题 1</title>

</head>

<body>

 

<form name="form1" action="<?php echo site_url('article/article_mod')?>" method="post">

标题:<input name="title" type="text" value="<?php echo $title;?>" /><br />

内容:<input name="content" type="text" value="<?php echo $content?>" /><br />

添加人:<input name="add_man" type="text" value="<?php echo $add_man;?>" /><br />

添加时间:系统自动记录<br />

状态:<input name="tag" type="radio" value="1" <?php if($tag==1)echo 'checked';?> />显示 <input name="tag" type="radio" value="0" <?php if($tag==0)echo 'checked';?> />隐藏<br />

<input type="submit" name="Submit" value="提交" />

<input type="hidden" value="<?php echo $id;?>" name="id" />

</form>

</body>

</html>

posted @ 2015-06-17 08:25  宋正河  阅读(247)  评论(0编辑  收藏  举报