我想创建一个 PHP MySQL 脚本来显示数据,然后允许用户编辑数据,但不必离开页面即可。
那么是否可以在表单中显示 MySQL 数据,允许用户单击并编辑它(就像普通的电子邮件表单一样),然后单击保存按钮并更新数据。
我知道保存按钮会重新加载同一页面,我只是不希望用户必须转到不同的页面来编辑数据。
我建议不要将您的表单发布到用于显示数据的页面。如果用户点击浏览器的刷新按钮,表单将被再次发送,这可能会做你不想要的事情。
使用POST/REDIRECT/GET 模式:将您的表单发布到用于处理它的页面,然后该页面必须发送一个标题以重定向到您的显示页面。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// now you know the form has been submitted
}
如果您不使用 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脚本的方法我希望会有用