2

2 つの送信ボタンを 1 つのフォームに配置しようとしています。1 つのボタンでレコードが更新され、別のボタンでレコードが削除されます。

<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を使用します (フォームにorを$_POST['action']使用するかどうかによって異なります)。getpost

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>

注:その行(レコード)のmysql IDに2つのフィールドを使用しました。1つはユーザーに表示するため、もう1つは行を更新および削除するときに必要な一意の識別用です。

これで、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

Use 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(); 
    });
​});​

Read more about JQuery

I recommend you to use JS for this but still if you want to use only PHP then refer Mihai Iorga's answer.

Hope it'll help you.

于 2013-01-23T07:56:24.607 に答える