2014-09-28 6 views
0

У меня есть простая функция, которая удаляет строку из базы данных ...Trigger 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)); 
} 
?> 

То, что я пытаюсь сделать теперь есть этот триггер при нажатии кнопки удаления. Я знаю, что вы не можете запускать PHP-функции с помощью HTML, каковы мои варианты?

ответ

-1

Вы можете использовать массив $ _POST, чтобы проверить, если кнопка нажата:

<?php 

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

?> 
+0

Невозможно назвать это из html, как говорится в этом вопросе. –

+0

Вам нужно добавить код, чтобы построить форму, чтобы получить полный ответ. – Quentin

+0

Ах, не прочитал первую строчку. Затем используйте $ _GET вместо $ _POST. if (isset ($ _ GET ['mid'])) .... – Tyr

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/

Смежные вопросы