我是一个完整的初学者,并使用PHP/jQuery构建了一个基本的待办事项列表应用程序。该应用程序允许用户添加和删除列表中的任务(存储在MySQL数据库中)。删除的行从页面中删除,但不是从MySQL数据库(PHP/jQuery)
我遇到了删除功能的问题。当点击删除按钮时,它将从列表中删除该任务,但它必须保留在数据库中,因为一旦页面刷新,它就会重新出现。
我不知道我哪里出错了!任何帮助赞赏。请参见下面的代码:
的index.php:
<!DOCTYPE html>
<html>
<head>
<title>To-Do List</title>
<link rel="stylesheet" type="text/css" href="/style.css" media="all" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<div class="main">
<div class="list">
<ul>
<?php
require("db_connect.php");
$query = mysql_query("SELECT * FROM tasks ORDER BY date ASC, time ASC");
$numrows = mysql_num_rows($query);
if($numrows>0) {
while ($row = mysql_fetch_assoc($query)){
$task_id = $row['task_id'];
$task_desc = $row['task_desc'];
echo '<li><span>'.$task_desc.'</span><img id="'.$task_id.'" class="delete" width="10px" src="images/delete.png" /></li>';
}
}
?>
</ul>
</div>
<form class="new" autocomplete="off">
<input type="text" name="new-task" placeholder="Add a new task..." />
</form>
</div>
</body>
<script>
add_task();
delete_task();
function add_task() {
$('.new').submit(function() {
var new_task = $('.new input[name=new-task]').val();
if(new_task !== '') {
$.post('add_task.php', { task: new_task }, function (data) {
$('.new input[name=new-task]').val('');
$(data).appendTo('.list ul').hide().fadeIn();
delete_task();
});
}
return false;
});
}
function delete_task() {
$('.delete').click(function() {
var current_element = $(this);
var task_id = $(this).attr('task_id');
$.post('delete_task.php', { task_id: task_id }, function() {
current_element.parent().hide().fadeOut("fast", function() {
$(this).remove();
});
});
});
}
</script>
delete_task.php:
<?php
$task_id = strip_tags($_POST['task_id']);
require("db_connect.php");
mysql_query("DELETE FROM tasks WHERE task_id='$task_id'");
?>
检查您的删除和检查的mysql_query结果如果task_id被正确提交 –
那你为什么写删除查询。如果status = 0,则不要删除放置状态标志意味着删除。状态= 1意味着有效。写一个更新查询,而不是删除 –
Mysql自PHP 7以来一直被删除,你应该真的开始使用Mysqli或PDO – Shogunivar