PHP在同一页面上更新MySQL数据库

时间:2012-08-09 18:33:27

标签: php mysql

我想创建一个PHP MySQL脚本,它将显示数据,然后允许用户编辑数据,但不必为了这样做而离开页面。

因此可以在表单中显示MySQL数据,允许用户单击并编辑它(如普通电子邮件表单)并单击保存按钮并更新数据。

我知道保存按钮会重新加载同一页面,我只是不希望用户必须转到另一个页面来编辑数据。

4 个答案:

答案 0 :(得分:3)

是的,这是可能的。只需使用

<form action="" method="post">

也可以在没有任何重新加载的情况下使用JavaScript和AJAX。 jQuery使AJAX的使用更加简单。

答案 1 :(得分:0)

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
   // now you know the form has been submitted 
}

答案 2 :(得分:0)

如果您不使用java脚本(Ajax),您可以使用$ _REQUEST ..并使用meta将用户发送到sql列表页面。

例如:

<?php

if($_REQUEST['do']=="showform"){
///// Show insert form   
echo "<form action=\"test.php\" method=\"get\" enctype=\"text/plain\">


<input type=\"text\" name=\"name\" />
<input type=\"hidden\" value=\"insert\" name=\"do\" />
<input type=\"submit\" value=\"Add\" />


</form> " ;

$sql=$db->query("select * from names order by id decs ");
while($r=mysql_fetch_array($sql)){

    ///
    /// print your data 
    ///
}    

}

if($_REQUEST['do']=="insert"){

    $name=mysql_real_escape_string($_GET['name']);
    /// call your insert function here 
    /// for Example

  $sql=$db->query(" insert into names(name) values('$name')");

  if($sql){///  
   echo "<META HTTP-EQUIV='refresh' CONTENT='1; URL=test.php?do=showform'>"; 
  } 
  else{

    echo "erorr";
  }

}




?>

这个只有java脚本的方法我希望有用

答案 3 :(得分:0)

我建议不要将表单发布到用于显示数据的页面。如果用户点击浏览器的刷新按钮,表格将再次发送,这可能会做你不想要的事情。

使用POST/REDIRECT/GET pattern:将您的表单发布到用于处理它的页面,然后此页面必须发送标题以重定向到您的显示页面。