PHP实现简单的新闻发布系统实例


Posted in PHP onJuly 28, 2015

本文实例讲述了PHP实现简单的新闻发布系统。分享给大家供大家参考。具体如下:

本人小白,一直在公司用模板和框架写PHP,发现有时候连基本的sql语句都忘记了,所以有空想把PHP基础复习下,巩固下。分页和搜索,以及排序,还没写,后期继续更新...(代码修改:添加搜索和分页功能)

articlePublish.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
 <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
</head>
<body bgcolor="#ccc">
 <form name="article" method="post" action="articlePublishDo.php" style="margin:5px 500px;">
   <h1>发布新闻系统</h1>
  标题:<input type="text" name="title"/><br/>
  内容:<textarea cols=30 rows=5 name="content"></textarea><br/><br/>
   <input type="submit" value="发布新闻"/>
 </form>
</body>
</html>

articlePublishDo.php:

<?php
 header("content-type:text/html;charset=utf8");
 date_default_timezone_set('Asia/Shanghai');
 $title=trim($_POST['title']);
 $content=trim($_POST['content']);
 $time=date("y-m-d H:i:s");
 require_once 'init.php';
 $sql="insert into article(title,content,create_time) values('$title','$content','$time')";
 //echo $sql;
 $re=mysql_query($sql);//执行sql语句
 if($re){
  echo "发布成功";
  echo '<a href="articleList.php">返回文章列表</a>';
 }else{
  echo "发布失败";
  echo '<a href="articleList.php">返回文章列表</a>';
 }
 mysql_close();//关闭数据库

articleList.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
</head>
<body>
<!--
 搜索框
-->
 <form method="get" action="articleList.php" style="margin:10px 400px;">
  <input type="text" name="search"/>
  <input type="submit" value="搜索"/>
 </form>
 <br/>
 <table cellspacing="0" cellpadding="0" align="center" bgcolor="#ccc" width=500 >
 <a href="articlePublish.html" style="padding:20px 30px">返回发布文章</a>
  <tr>
   <th>编号</th>
   <th>文章标题</th>
   <th>文章内容</th>
   <th>编辑文章</th>
  </tr>
  <?php
   require_once 'init.php';
   /**
    * 搜索
    */
   $keyword=$_GET['search'];
   /*分页*/
   $sql="select count(*) from article where title like '%$keyword%' or content like '%$keyword%'";
   $res=mysql_query($sql);
   //$count= (int)mysql_num_rows($result);
   $arr=mysql_fetch_assoc($res);
   while(list($key,$val)=each($arr)){
    $count = (int)$val; 
   }
   //echo $count;
   $pageSize=4;
   $page=floor($count/$pageSize)+1;//总页数$page
   echo $page;
   //echo $page;
   if(isset($_GET['page']))
   {
    //$currentPage = $_GET['page'];
    if($_GET['page'] <=1){
     $currentPage = 1;
    }elseif ($_GET['page'] >= $page){
     $currentPage = $page-1;
    }else{
     $currentPage = $_GET['page'];
    }
   }else
   {
    $currentPage=1;
   }
   $start = ($currentPage-1)*$pageSize;
   $sql="select id,title,content from article where title like '%$keyword%' or content like '%$keyword%' limit $start,$pageSize";
   //echo $sql;
   $re=mysql_query($sql);//执行sql语句
   while($arr=mysql_fetch_assoc($re)){
  ?> 
    <tr>
     <td align="center" style="border:1px solid #000"><?php echo $arr['id'];?></td>
     <input type="hidden" name="id" value="<?php echo $arr['id'];?>"/>
     <td align="center" style="border:1px solid #000"><?php echo $arr['title'];?></td>
     <td align="center" style="border:1px solid #000"><?php echo $arr['content'];?></td>
     <td align="center" style="border:1px solid #000">
      <a href="articleEdit.php?id=<?php echo $arr['id']?>"><font color="red">修改</font></a>
      <a href="articleDelete.php?id=<?php echo $arr['id']?>"><font color="red">删除</font></a>
     </td>
    </tr>
  <?php 
    }
   mysql_close();//关闭数据库
  ?>
 </table>
 <div style="margin:20px 400px;">
  共<?php echo $page?>页 |查到<?php echo $count;?>条记录
  当前第<?php echo $_GET['page']?>页|
  <a href="articleList.php?page=1&search=<?php echo $keyword?>">首页</a>
  <a href="articleList.php?page=<?php echo ($currentPage-1)?>&search=<?php echo $keyword?>">|上一页</a>
  <a href="articleList.php?page=<?php echo ($currentPage+1)?>&search=<?php echo $keyword?>">|下一页</a>
  <a href="articleList.php?page=<?php echo $page?>&search=<?php echo $keyword?>">|末页</a>
 </div>
</body>
</html>

articleEdit.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
 <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
</head>
<body bgcolor="#ccc">
<?php 
   $id=(int)$_GET['id'];
   require_once 'init.php';
   $sql="select id,title,content from article where id = '$id'";
   //echo $sql;
   $re=mysql_query($sql);//执行sql语句
   $arr=mysql_fetch_assoc($re);
   //var_dump($arr);
   mysql_close();//关闭数据库
    
?>
 <form name="article" method="post" action="articleUpdate.php" style="margin:5px 500px;">
   <h1>文章发布系统</h1>
   <input type="hidden" name="id" value="<?php echo $arr['id']?>"/><br/>
  标题:<input type="text" name="title" value="<?php echo $arr['title']?>"/><br/>
  内容:<textarea cols=30 rows=5 name="content"><?php echo $arr['content']?></textarea><br/><br/>
   <input type="submit" value="修改文章"/>
   <a href="articleList.php">返回文章列表</a>
   <a href="articlePublish.html">返回发布文章</a>
 </form>
</body>
</html>

articleUpdate.php:

<?php
 header("content-type:text/html;charset=utf8");
 $arr=$_POST;
 $id=(int)$arr['id'];
 require_once 'init.php';
 $sql="update article set title = '$arr[title]',content = '$arr[content]' where id = '$id'";
 //echo $sql;
 $re=mysql_query($sql);//执行sql语句
 //echo $re;
 if($re){
  echo "修改成功";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }else{
  echo "修改失败";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }
 mysql_close();//关闭数据库

articleDelete.php:

<?php
 header("content-type:text/html;charset=utf8");
 require_once 'init.php';
 $id=(int)$_GET['id'];
 $sql="delete from article where id = '$id'";
 //echo $sql;
 $re=mysql_query($sql);
 if($re){
  echo "删除成功";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }else{
  echo "删除失败";
  echo "<a href='articleList.php'>返回文章列表</a>";
 }

init.php:

<?php
 //连接数据库
 //五步走
 //往数据库添加文章
 $conn=mysql_connect("localhost","root","");//链接数据库
 //echo $conn;
 $re=mysql_select_db("article");//选择数据库
 mysql_query("set names utf8");//设置交互字符集

基础知识总结:

文章发布系统

1.articlePublish.html 发布文章页面 提交到articlePublishDo.php页面,执行写入数据库

2.articleList.php 文章列表页面

3.点击编辑,修改文章 提交到 aiticleEdit.php 表单页面(回显)

4.点击修改文章按钮 提交到 articleUpdate.php

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
网络资源
Oct 09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
PHP 加密解密内部算法
Apr 22 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
浅谈thinkphp的实例化模型
Jan 04 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
php事件驱动化设计详解
Nov 10 PHP
php的socket编程详解
Nov 20 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
PHP实现的memcache环形队列类实例
Jul 28 #PHP
如何实现php图片等比例缩放
Jul 28 #PHP
PHP封装CURL扩展类实例
Jul 28 #PHP
php图像处理类实例
Jul 28 #PHP
图文介绍PHP添加Redis模块及连接
Jul 28 #PHP
PHP生成树的方法
Jul 28 #PHP
php计算税后工资的方法
Jul 28 #PHP
You might like
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
Bootstrap框架下下拉框select搜索功能
2020/03/26 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
临床医学系毕业生推荐信
2013/11/09 职场文书
应届生法律顾问求职信
2013/11/19 职场文书
项目工作说明书
2014/07/29 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js