2014-09-30 23 views
1

我試圖做一個表單,允許我在數據庫中導航/插入/修改/刪除條目。如何在PHP中使用單個窗體中的多個按鈕?

要應用相應的查詢(插入,修改和刪除)我想在表單底部使用簡單的HTML按鈕。

我的問題是有可能讓每個按鈕調用不同的查詢?任何有關如何以簡單的方式做到這一點的建議,因爲我是初學者。

+1

爲每個按鈕指定一個不同的名稱,並查看是否存在對應的$ _GET/$ _ POST變量集。執行不同的查詢,具體取決於哪一個被設置爲 – MLeFevre 2014-09-30 10:42:48

+0

,正如MLeFevre所說的那樣,您可以這樣做。或者,最終,您可以在執行動態ajax請求並在服務器端清理查詢之前執行它。 – briosheje 2014-09-30 10:47:59

+0

假設這是一個POST表單:當你處理這個表單的動作時,暫時使用'print_r($ _ POST)'來查看如何添加點擊提交按鈕的名稱。 – halfer 2014-09-30 10:50:35

回答

0

試試這個

<?php 
if(isset($_POST['submit1'])) 
{ 
//INSERT QUERY 
} 
if(isset($_POST['submit2'])) 
{ 
//DELETE QUERY 
} 
if(isset($_POST['submit3'])) 
{ 
//UPDATE QUERY 
} 
?> 
+0

謝謝,Sameer。正如我所說,我不知道這是可能的。 – Geoff 2014-09-30 10:54:19

+0

歡迎您@Geoff先生 – 2014-09-30 10:57:03

2

你可以做這樣的:

PHP

$do_action = null; 
if (isset($_POST['insert'])) { 
    // Do Insert 
    $do_action = 'Insert'; 
} elseif (isset($_POST['modify'])) { 
    // Do Modify 
    $do_action = 'Modify'; 
} elseif (isset($_POST['delete'])) { 
    // Do Delete 
    $do_action = 'Delete'; 
} elseif (isset($_POST['navigate'])) { 
    // Do Navigate 
    $do_action = 'Navigation'; 
} 

if ($do_action != null) { 
    echo 'The last action performed was : <strong>' . $do_action . '</strong>'; 
    // After performing the action, you should redirect the user, so they cannot Refresh the page/press F5 to re-submit the form by mistake 
} 

HTML

<form method="POST" action=""> 
    <input type="submit" name="insert" value="Insert"> 
    <input type="submit" name="modify" value="Modify"> 
    <input type="submit" name="delete" value="Delete"> 
    <input type="submit" name="navigate" value="Navigate"> 
</form> 

正如我所評論的,在執行完查詢之後,請確保將用戶重定向到某個合理的地方,以便他們不會意外刷新頁面並再次提交相同的查詢。

+0

謝謝MLeFevre。我不知道有可能確定哪個提交按鈕被按下。 – Geoff 2014-09-30 10:53:47

相關問題