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>
以上所述就是本文的全部内容了希望大家能够喜欢。