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


Posted in PHP onJune 18, 2015

--

-- 表的结构 `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 相关文章推荐
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
PHP编码规范的深入探讨
Jun 06 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
基于laravel制作APP接口(API)
Mar 15 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
试用php中oci8扩展
Jun 18 #PHP
浅谈PDO的rowCount函数
Jun 18 #PHP
基于PHP实现的事件机制实例分析
Jun 18 #PHP
php使用MySQL保存session会话的方法
Jun 18 #PHP
php判断表是否存在的方法
Jun 18 #PHP
PHP实现HTTP断点续传的方法
Jun 17 #PHP
PHP实现在线阅读PDF文件的方法
Jun 17 #PHP
You might like
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP Memcached应用实现代码
2010/02/08 PHP
表格展示无限级分类(PHP版)
2012/08/21 PHP
php实现按文件名搜索文件的远程文件查找器
2014/05/10 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
js实现每日签到功能
2018/11/29 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
浅谈Python实现2种文件复制的方法
2018/01/19 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python二元算术运算常用方法解析
2020/09/15 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
服装店营销方案
2014/03/10 职场文书
车辆委托书范本
2014/10/05 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang