芽雨原创php新闻系统教程(第一版) 第五讲:新闻程序的算法(一) --- 修改、删

这个在偶个人主页的地址是 http://yayu.512j.com/php/xwjc/05.htm


三.修改、删除新闻

    和查看新闻的程序一样,偶们要先列出所有的新闻标题,然后在选择具体的新闻进行修改、删除操作。

    在这里列出新闻标题时,比 index.php 的程序多了一条语句,那就是输出:

    <a href='editnews.php?id=".$rows["id"]."' target=_self> 修改 </a>

    通过点击这个超级链接,偶们进入具体的修改、删除新闻的程序。

    具体的程序如下:

    if(@$_GET["id"])
     {
     $id = $_GET["id"];
     $sql="SELECT * FROM news WHERE id=$id";
     $res = mysql_query($sql);
     $row=fetch_assoc($res);
     $edit = "<form method=post action=takeedit.php>";
     $edit .= "<table width=800 cellpadding=0 cellspacing=0 border=1>";
     $edit .= "<tr><td width=150><font> 第 $id 条新闻 </font></td><td><font> 标题 :&nbsp;&nbsp;&nbsp;&nbsp;<input type=text name=title value=".$row["title"]." size=80></font></td></tr>";
     $edit .= "<tr><td valign=top width=150 border=0><font> 作者 <input type=text name=author value=".$row["author"]."><br> 日期 :<br>".$row["date"]."</font></td><td><font size=-2><textarea cols=90 rows=10 name=content >".$row["content"]."</textarea></font></td></tr></table>";
     $edit .= "<input type=hidden name=id value=$id>";
     $edit .= "<input type=submit name=edit value= 修改 >";
     $edit .= "<input type=submit name=delete value= 删除 >";
     $edit .= "</form>";
     echo $edit;
     }

    上面“ if(@$_GET["id"]) ”中的“ @ ”意思是说禁止函数返回出错提示。这样当程序出现异常时,不至于让普通用户看见那莫名其妙的出错信息。

    值得一说的是,偶们把可以修改的内容放在属性 value 中,既“ value=".$row["title"]." ”等。

    在 <form> 标签中把 action 属性设为“ action=takeedit.php ”,当偶们提交表单后,由 takeedit.php 对数据库进行操作。

    这其中的语句都是偶们在前面提到的,偶就不信你看不懂!!!程序如下:

    if(@$_POST["edit"])
     {
     $author = $_POST["author"];
     $title = $_POST["title"];
     $content = $_POST["content"];
     $source =$_POST["source "];
     $date = date("y-m-d H:i");
     mysql_query("UPDATE news SET author='$author',title='$title',content='$content', source =' source',date='$date' WHERE id=$id");
     }
     if(@$_POST["delete"])
     {
     mysql_query("DELETE FROM news WHERE id=$id LIMIT 1");
     }