2014-09-28 44 views
0

觸發PHP函數我有一個簡單的函數,從數據庫中刪除行...與HTML按鈕

<?php 
function messaging_remove_message($tmp_mid) { 
    global $wpdb; 
    $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->base_prefix . "messages WHERE message_ID = %d", $tmp_mid)); 
} 
?> 

什麼我想現在要做的是當按下刪除按鈕有這個觸發。我知道你不能用HTML觸發PHP函數,所以我有什麼選擇?

回答

-1

可以使用$ _POST數組來檢查,如果點擊按鈕:

<?php 

    if (isset($_POST['buttonname'])) { 
     messaging_remove_message($var); 
    } 

?> 
+0

無法從html中調用此問題,因爲問題所述。 – 2014-09-28 12:13:12

+0

您需要添加代碼來構建表單以使其成爲完整答案。 – Quentin 2014-09-28 12:16:27

+0

啊,還沒有讀第一行。然後使用$ _GET而不是$ _POST。 if(isset($ _ GET ['mid'])).... – Tyr 2014-09-28 12:16:42

0

最簡單的選擇是使用AJAX。使用下面的例子:

page.php文件

<?php 
// ...... include necessary config etc files 
messaging_remove_message($_GET['mid']); 
function messaging_remove_message($tmp_mid) { 
    global $wpdb; 
    $wpdb->query($wpdb->prepare("DELETE FROM " . $wpdb->base_prefix . "messages WHERE message_ID = %d", $tmp_mid)); 
} 
?> 

的index.php

<button onclick="call_remove_msg(<?php echo $msg_id; ?>)">Delete</button> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
function call_remove_msg(id){ 
    $.get("page.php?mid=" + id, function(){alert("Comment deleted!");}); 
} 
</script> 

這在技術上是用AJAX得到改善。在這裏瞭解更多有關您的發展的信息:http://www.w3schools.com/ajax/