首页 > 后端开发 > php教程 > php编写简单的文章发布程序_PHP

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-05-30 08:44:58
原创
1635 人浏览过

--

-- 表的结构 `yi_article`

--

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

<&#63;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['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&#63;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['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&#63;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 "数据删除失败!";

      }

    }

  }

&#63;>

登录后复制

article_add.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<!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="<&#63;php echo site_url('article/article_add')&#63;>" 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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<!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="<&#63;php echo site_url('article/article_mod')&#63;>" method="post">

标题:<input name="title" type="text" value="<&#63;php echo $title;&#63;>" /><br />

内容:<input name="content" type="text" value="<&#63;php echo $content&#63;>" /><br />

添加人:<input name="add_man" type="text" value="<&#63;php echo $add_man;&#63;>" /><br />

添加时间:系统自动记录<br />

状态:<input name="tag" type="radio" value="1" <&#63;php if($tag==1)echo 'checked';&#63;> />显示 <input name="tag" type="radio" value="0" <&#63;php if($tag==0)echo 'checked';&#63;> />隐藏<br />

<input type="submit" name="Submit" value="提交" />

<input type="hidden" value="<&#63;php echo $id;&#63;>" name="id" />

</form>

</body>

</html>

登录后复制

以上所述就是本文的全部内容了希望大家能够喜欢。

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
怎么学好php
来自于 1970-01-01 08:00:00
0
0
0
PHP扩展intl
来自于 1970-01-01 08:00:00
0
0
0
php数据获取?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板