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 相关文章推荐
php 远程关机操作的代码
Dec 05 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
php 取得瑞年与平年的天数的代码
Aug 10 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
Sep 23 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
详解使用php-cs-fixer格式化代码
Sep 16 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
php 删除记录实现代码
2009/03/12 PHP
php中apc缓存使用示例
2013/12/25 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
php数组遍历类与用法示例
2019/05/24 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
javaScript中的空值和假值
2017/12/18 Javascript
jQuery操作cookie的示例代码
2019/06/05 jQuery
JavaScript实现图片放大镜效果
2019/06/27 Javascript
vue 翻页组件vue-flip-page效果
2020/02/05 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Django的信号机制详解
2017/05/05 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
会计专业自我评价
2014/02/12 职场文书
初中学校军训方案
2014/05/09 职场文书
万里长城导游词
2015/01/30 职场文书
小学数学国培研修日志
2015/11/13 职场文书
Python代码实现双链表
2022/05/25 Python