php编写简单的文章发布程序 |
本文标签: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> 以上所述就是本文的全部内容了希望大家能够喜欢 。 |