2

我正在尝试将两个提交按钮放入一个表单中,一个按钮将更新记录,另一个按钮将删除它。

<form>
   <input type="submit" value="UPDATE"/>
   <input type="submit" value="DELETE/>
</form>

这些应该如何在php中处理?最好的方法是什么?

4

4 回答 4

5

您只需添加一个名称:

<form>
   <input type="submit" name="action" value="UPDATE"/>
   <input type="submit" name="action" value="DELETE"/>
</form>

并使用$_GET['action']or $_POST['action'](取决于您是否使用getorpost表示形式)。

if($_POST['action'] == 'DELETE'){
   //.....
} elseif($_POST['action'] == 'UPDATE'){
   //.....
}
于 2013-01-23T07:55:17.790 回答
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();"/>
于 2013-01-23T07:52:23.690 回答
0

没有问题:在您的 php 代码中,只需检查单击了哪个按钮并处理逻辑,例如:如果用户单击 DELETE,则 UPDATE 的值为 null,此外,如果用户单击 UPDATE,则 DELETE 的值将为 null ,现在,考虑你的真实 from 看起来像这样:

<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 因为表单方法设置为 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 "";
}
?>
于 2013-01-23T08:37:29.187 回答
-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 的回答。

希望它会帮助你。

于 2013-01-23T07:56:24.607 回答