我正在尝试将两个提交按钮放入一个表单中,一个按钮将更新记录,另一个按钮将删除它。
<form>
<input type="submit" value="UPDATE"/>
<input type="submit" value="DELETE/>
</form>
如何在php中处理这些内容?最好的方法是什么?
答案 0 :(得分:4)
您只需添加名称:
<form>
<input type="submit" name="action" value="UPDATE"/>
<input type="submit" name="action" value="DELETE"/>
</form>
并使用$_GET['action']
或$_POST['action']
(取决于您使用get
或post
表单)。
if($_POST['action'] == 'DELETE'){
//.....
} elseif($_POST['action'] == 'UPDATE'){
//.....
}
答案 1 :(得分:1)
Javascript应该做这些工作。例如:
<script>
function update() {
//what you want to do
}
function del() {
}
</script>
...
<input type="submit" value="UPDATE" onclick="update();"/>
<input type="submit" value="DELETE onclick="del();"/>
答案 2 :(得分:0)
没有问题: 在您的PHP代码中,只需检查单击了哪个按钮并处理逻辑,例如: 如果用户单击DELETE,则UPDATE的值将为null,同样,如果用户单击UPDATE,DELETE的值将为null,现在,请考虑您的真实,如下所示:
<form action="update-delete.php" method="POST">
<input type="text" name="visibleid" value="<?php echo $id; ?>" disabled="disabled">
<input type=hidden" name="hiddenid" value="<?php echo $id; ?">
<!-- other fields will be here -->
<input type="submit" name="update" value="UPDATE"/>
<input type="submit" name="delete" value="DELETE"/>
</form>
注意:我为该行(记录)使用了2个字段作为mysql id,一个用于向用户显示该字段,另一个用于更新和删除行时需要的唯一标识。
现在,PHP文件如下所示: 我使用$ _POST因为form方法设置为POST,如果你没有设置这个属性或者使用GET,你必须使用$ _GET($ update = $ _GET ['update'])
//use $action for identifying button type
$action = '';
if($update == 'UPDATE'){
$action = 'update';
}
elseif($delete == 'DELETE'){
$action = 'delete'
}else{
$action = 'unknown';
}
//now lets start your logic
if($action == 'update'){
$query = " UPDATE TABLE `tablename` SET `col1` = '$col1' WHERE `id` = '$id' ";
}
elseif($action == 'delete'){
$query = " DELETE FROM `tablename` WHERE `id` = '$id'";
}
else{
//echo "";
}
?>
答案 3 :(得分:-1)
使用JS
:
<form id="theForm" action="foo.php">
...
<input type="submit" value="UPDATE" id="first"/>
<input type="submit" value="DELETE" id="second"/>
</form>
$(document).ready(function() {
$("#theForm input").click(function(e) {
e.preventDefault();
if(e.target.id == 'first') {
$("#theForm").attr("action", "updatePage.php");
} else {
$("#theForm").attr("action", "deletePage.php");
}
alert($("#theForm").attr("action"));
$("#theForm").submit();
});
});
详细了解JQuery
我建议您使用JS
,但如果您只想使用PHP,请参阅Mihai Iorga的答案。
希望它会帮助你。