php编写简单的文章发布程序

5年以前  |  阅读数:894 次  |  编程语言:PHP 

--

-- 表的结构 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>

以上所述就是本文的全部内容了希望大家能够喜欢。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例