• 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>

  • 相关阅读:
    javascript与CSS复习(《精通javascript》)
    javascript改进表单
    javascript与CSS复习(三)
    javascript dom代码应用:简单的相册
    重新发明轮子之Draggable Elements
    《精通javascript》5,6章复习(三)
    我的JAVA之旅(五)继承
    全面学习DBMS包之UTL_FILE
    想法
    生活在上海
  • 原文地址:https://www.cnblogs.com/songzhenghe/p/4582332.html
Copyright © 2020-2023  润新知