Я пытаюсь использовать функцию jQuery Ajax для удаления строки в базе данных MySQL. Когда я нажимаю на ссылку «удалить сообщение», я хочу, чтобы она вызывала событие onClick
, которое будет запускать функцию удаления строки.Функция удаления Ajax не работает
Это мой код до сих пор:
Во-первых отображать сообщения со ссылкой на удаление каждого из них.
foreach($postarray AS $value){
echo '<div class="item">'.$value['post_title'].' , <a href="#" class="delete_link" value="'. $value['post_id'] .'">Delete Post</a></div>';
}
Тогда Jquery:
$(document).ready(function(){
$(".delete_post").click(function(){
var id = $(this).attr("value");
function deletePost(id){
$.ajax({
type: "POST",
url: "delete_post.php",
data: {id: id},
success: function(data){
alert("Post deleted");
}
})
}
});
});
и delete.php
код:
//Start the session
session_start();
require_once('func/auth.class.php');
require_once('func/functions.php');
require_once('func/db.class.php');
// Check if user is logged in
if(!$_SESSION['is_admin'] || empty($_POST['id'])){
header("Location: index.php");
}
$post_id = $_POST['id'];
delete_post($post_id);
и delete_post()
функция:
function delete_post($post_id){
global $dbh;
$stmt = $dbh->prepare("DELETE FROM mjbox_posts WHERE post_id = ?");
$stmt->bindValue(1, $post_id, PDO::PARAM_INT);
$stmt->execute();
if($stmt->rowCount() != 0){
return TRUE;
}else{
return FALSE;
}
}
В настоящее время этот метод не не удалит из сообщений из базы данных, и я не могу понять, почему.
Я не вижу класс '«delete_post»' – jcho360
@ jcho360 я, я вижу только «delete_link» класс –
Мой плохо, забыл изменить, что более при упрощении для стека – crm