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 相关文章推荐
php 文件上传代码(限制jpg文件)
Jan 05 PHP
php 使用post,get的一种简洁方式
Apr 25 PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
php简单实现发送带附件的邮件
Jun 10 PHP
php实现购物车产品删除功能(2)
Jul 23 PHP
购物车实现的几种方式优缺点对比
May 02 PHP
PHP的curl函数的用法总结
Feb 14 PHP
Laravel实现ORM带条件搜索分页
Oct 24 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 PHP
Laravel框架Eloquent ORM修改数据操作示例
Dec 03 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 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
php数组键值用法实例分析
2015/02/27 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
载入进度条 效果
2006/07/08 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
Dojo获取下拉框的文本和值实例代码
2016/05/27 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
Python实现遍历数据库并获取key的值
2015/05/17 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
自荐信结尾
2013/10/27 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
继承权公证书
2014/04/09 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
出差报告范文
2014/11/06 职场文书
迎新生欢迎词
2015/01/23 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
Python+Appium新手教程
2021/04/17 Python
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android
golang实现浏览器导出excel文件功能
2022/03/25 Golang
PHP 时间处理类Carbon
2022/05/20 PHP