实现修改和删除功能:include "connect.php";
$id=$_GET["id"];
if($id)
    {
    $query="SELECT * from news WHERE id=$id";
    $result=mysql_query($query,$conn);
    $row=mysql_fetch_array($result);
$edit="<form method=post action=Edit.php>";
    echo "<table width=800 cellpadding=0 cellspacing=0 border=1>";
    echo "<tr><td width=150><font>第 $id 条新闻</font><font>标题:<input type=text name='title' value=".$row["title"]." size=80></font></td></tr>";
    echo "<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>";
    echo "<input type=submit name=edit value=修改>";
    echo "<input type=submit name=delete value=删除>";
echo "</form>";
echo $edit;$id=$_GET["id"];
$edit=$_POST["edit"];
$delete=$_POST["delete"];
if($id){if($edit)
    {
      $author=$_POST["author"];
      $title=$_POST["title"];
      $content=$_POST["content"];
      $date=date("y-m-d H:i");
       
      $query="Select * FROM news where id=$id";
      $result=mysql_query($query,$conn);
      $row=mysql_fetch_array($result);
      $sql="UPDATE news SET author='$author',title='$title',content='$content',date='$date' WHERE id=".$row['id'];
      $result=mysql_query($sql,$conn);
  if($result)
  {
  echo "修改成功";
    }
  else{
          echo "修改失败";
  }
  
    }
if($delete)
    {
      $query="Select * FROM news where id=$id";
      $result=mysql_query($query,$conn);
      $row=mysql_fetch_array($result);
      $sql="DELETE FROM news WHERE id=".$row['id'];
      $result=mysql_query($sql,$conn);   if($result)
  {
  echo "删除成功";
  }
  else{
      echo "删除失败";
  }
    }
}
问题是:能出现编辑的界面,但是按修改和删除按钮木有反应…谢谢~

解决方案 »

  1.   

    你查看源代码就能看到。你那个<form method=post action=Edit.php> 都跑到</form>后面去了。 $edit="<form method=post action=Edit.php>"; 这里就直接输出就行了。改为:
       echo "<form method=post action=Edit.php>";
    ----------------------------------------------------------------
       $query="Select * FROM news where id=$id";
          $result=mysql_query($query,$conn);
          $row=mysql_fetch_array($result);
       // $id就是数据库中的id值。可以不用查了
          $sql="UPDATE news SET author='$author',title='$title',content='$content',date='$date' WHERE id=".$id;
    //后面的删除也是同样的道理。
      

  2.   


    第一文件里的解决了,谢谢^^
    第二个改为:if(@$_POST["edit"])
       {
          $author=$_POST["author"];
          $title=$_POST["title"];
          $content=$_POST["content"];
          $date=date("y-m-d H:i");
      
      $sql="UPDATE news SET author='$author',title='$title',content='$content',date='$date' WHERE id=".$id;
      $result=mysql_query($sql,$conn);
      if($result)
      {
      echo "修改成功";
        }
      else{
          echo "修改失败";
        }
       }
       
    if(@$_POST["delete"])
     {
      $sql="DELETE FROM news WHERE id=".$id;
      $result=mysql_query($sql,$conn);
      if($result)
      {
      echo "删除成功";
      }
      else{
          echo "删除失败";
      }
     }
    为什么 不管 修改 还是 删除 ,运行结果总是 失败 呐 ?……
      

  3.   

    那数据库被影响了吗   $result  ==》 mysql_affected_rows() 
      

  4.   

    什么返回-1 啊?   url上是否存在id 
       
    $result=mysql_query($sql,$conn) or die(mysql_error())
    看报不报错。
      

  5.   


    mysql_affected_rows()这个函数查询失败不是返回-1么?报错了…
      

  6.   

    lz貌似没有传id这个$id=$_GET["id"];
    能正确获取到吗???弹出来看看啊!!!
      

  7.   

    $sql="UPDATE news SET author='"
    .$author.
    "',title='"
    .$title.
    "',content='"
    .$content.
    "',date='"
    .$date.
    "' WHERE id=".$id;
    #除了$id不需要用一对''引起来
      

  8.   

    接收到的数据类型在给sql语句赋值时要和数据库表中的数据类型相对应,把sql执行语句打出来,在数据库中执行一下就知道是否正确。