本文给大家分享的是使用php编写简单的文章发布程序,适合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
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 "
";
//加载url辅助函数
$this->load->helper('url');
$addr=site_url('article/article_list');
echo "查看文章";
$addr=site_url('article/article_page');
echo "查看分页";
}
function article_list(){
echo "这里是文章列表";
//加载数据库模型
//$this->load->model('article_model');
//$this->article_model->index();
//读取所有的文章
$this->load->database();
echo "
";
$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 "
";
echo "第二条记录的标题:".$info[1]['id'];
echo "
";
echo "表article中共有这么些记录:".$this->db->count_all('article');
echo "
";
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']='
'; $config['full_tag_close']='
'; //第二步加载类库 $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']=''; $config['full_tag_close']='
'; //第二步加载类库 $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 "article_add.php