zoukankan      html  css  js  c++  java
  • [转]php初级教程(十)新闻的列表和删除

     现在我们开始介绍新闻的列表和删除了。

    新建立一个文件listnews.php,内容如下:

    1. < ?php
    2. require_once('../inc/config.php');
    3. //包含配置文件
    4. ?>
    5. <html>
    6. <head></head>
    7. <title>新闻管理</title>
    8. <body>
    9. <div class="newstitle"></div>
    10. <div class="newslist">
    11. < ?php
    12. //这里显示新闻列表
    13. $page = $_GET['page'];
    14.  
    15. if( $page < 1) $page =1;
    16.  
    17. //获取当前页面数
    18. $per = 10;
    19. //每页显示数量
    20. $begin = ($page - 1) * $per;
    21.  
    22. $pre = $page -1;
    23. //上一页
    24. $next = $page + 1;
    25. //下一页
    26. //反正所有的操作都会用到mysql连接,所以我们先建立连接
    27. $conn = mysql_pconnect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS)
    28. or die('连接数据库失败');
    29. mysql_select_db(DB_NAME);
    30.  
    31. $sql = "SELECT * FROM ".NEWS_BASE." WHERE 1 ORDER BY news_id limit ".$begin.",".$per;
    32.  
    33. $res = mysql_query($sql) or die(mysql_error());
    34. //查询数据库
    35.  
    36. echo "<table border='1'><tr>";
    37. echo "<td>新闻时间</td><td>新闻标题</td>";
    38. echo "<td>操作</td></tr><tr>\n";
    39.  
    40. while( $obj = mysql_fetch_object($res)){
    41. //循环取出数据,关于mysql的函数请参考php手册
    42. //然后循环表格
    43. echo "</tr><tr>";
    44. echo "<td>".$obj->news_date."</td>";
    45. echo "<td>".$obj->news_title."</td>";
    46. echo "<td><input type='button' onClick='mod(".$obj-/>news_id.")' value='修改' />";
    47. echo "<input type='button' value='删除' onClick='del(".$obj-/>news_id.")' /></td>";
    48. echo "</tr>";
    49. //上面的按钮会触发javascript事件
    50. //所以下面我将顺便写一下js
    51. //让大家熟悉一下
    52. }
    53. echo "";
    54. ?>
    55. <a href="?page=<?php echo $pre;?>">上页</a>
    56. <a href="?page=<?php echo $next;?>">下页</a>
    57. </div>
    58. <script language="javascript">
    59. function mod(id){
    60. //修改的函数
    61. //我们将这个带到editnews.php?id=id上去
    62. window.location = "editnews.php?id="+id+"&page=< ?php echo $page;?>";
    63. }
    64. function del(id){
    65. //修改的函数
    66. //我们将这个带到do.php?id=id&del=yes上去
    67. window.location = "do.php?id="+id + "&del=yes&page=< ?php echo $page;?>";
    68. }
    69. </script>
    70. </body>
    71. </html>

    现在开始便写如何删除的页面,打开do.php,添加下面的代码

    1. if( $_GET['del'] == 'yes'){
    2. $sql = "DELETE FROM ".NEWS_BASE." WHERE news_id='".$_GET['id']."'";
    3. mysql_query($sql,$conn)
    4. or die("数据操作失败,错误原因:".mysql_error() );
    5. header("location:listnews.php?page=".$_GET['page']);
    6. //删除之后返回到原来的那个页面
    7. }

    现在开始编写editnews.php了,先从数据库中取出数据,然后用sql update内容即可,代码如下:

    1. < ?php
    2. require_once('../inc/config.php');
    3. $conn = mysql_pconnect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS)
    4. or die('连接数据库失败');
    5. mysql_select_db(DB_NAME);
    6. $sql = "SELECT * FROM ".NEWS_BASE." WHERE news_id='".$_GET['id']."'";
    7. $res = mysql_query($sql,$conn)
    8. or die("数据操作失败,错误原因:".mysql_error() );
    9. $obj = mysql_fetch_object($res);
    10. ?>
    11. <form method="post" action="do.php">
    12. <input type="hidden" id="action" name="action" value="modnews" />
    13. <br />
    14. <input type="hidden" name="news_id" value="<?php echo $obj-/>news_id?>" />
    15. <input type="hidden" name="page" value="<?php echo $_GET['page']?/>" />
    16. <!-- hidden隐藏域的作用就不用介绍了吧,上次介绍过哈 -->
    17. <label for="news_title">新闻标题</label>
    18. <input name="news_title" id="news_title"
    19. value="<?php echo $obj-/>news_title;?>" size="60" type="text" />
    20. <br />
    21. <label for="news_text">新闻内容</label>
    22. <textarea type="text" name="news_text" id="news_text" rows="10" cols="50">
    23. < ?php echo $obj->news_text; ?>
    24. </textarea>
    25. <br />
    26. <label for="author">新闻作者</label>
    27. <input name="author" id="author" size="60" type="text"
    28. value="<?php echo $obj-/>author;?>" /><br />
    29. <label for="news_date">发布时间</label>
    30. <input name="news_date" id="news_date" size="60" type="text"
    31. value="<?php echo $obj-/>news_date;?>" /><br />
    32. <input id="sbbt" value="提交" type="submit" />
    33. <input id="resetbt" value="重置" type="reset" />
    34. </form>

    然后我们要在对应的do.php中添加相应的处理操作,代码如下

    1. if( "modnews" == $action ){
    2. //如果是修改新闻,则在此处进行处理
    3. $sql = "UPDATE ".NEWS_BASE." set
    4. news_title='".$_POST['news_title']."',
    5. news_text='".$_POST['news_text']."',
    6. news_date='".$_POST['news_date']."',
    7. author='".$_POST['author']."' WHERE news_id=".$_POST['news_id']."";
    8. mysql_query($sql,$conn) or
    9. die("插入数据失败,错误原因:".mysql_error() );
    10. header("location:listnews.php?page=".$_POST['page']);
    11. }

    当然,我们在实际的处理中,必须对用户的输入进行过滤,防止恶意的输入,比如用这样的函数过滤掉html标签$a = htmlspecialchars($_POST[’a']);

    好了,今天就介绍到这里,一个基本的新闻管理系统基本完成了。

     
  • 相关阅读:
    分时段查询数据
    优秀产品经理的7大核心技能
    控制台打印螺旋数组
    强大的jquery,再次让我为之鼓掌——三维展示插件
    立象条码打印机PPLB类单双标签打印
    一次与德国程序员的交流
    用ASP为Discuz扩展点小功能
    GDI+ 小破孩动画
    回应YeanJay同学jQuery按钮改变DIV背景色
    C# Dock Style 设置
  • 原文地址:https://www.cnblogs.com/sishierfei/p/1610436.html
Copyright © 2011-2022 走看看