0

我想创建一个 PHP MySQL 脚本来显示数据,然后允许用户编辑数据,但不必离开页面即可。

那么是否可以在表单中显示 MySQL 数据,允许用户单击并编辑它(就像普通的电子邮件表单一样),然后单击保存按钮并更新数据。

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

4

4 回答 4

3

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

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

也可以不用重新加载——使用 JavaScript 和 AJAX。jQuery使 AJAX 的使用更加简单。

于 2012-08-09T18:38:20.367 回答
0

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

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

于 2012-08-10T11:24:00.263 回答
0
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
   // now you know the form has been submitted 
}
于 2012-08-09T18:37:06.753 回答
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脚本的方法我希望会有用

于 2012-08-09T19:16:21.183 回答