我是一個完整的初學者,並使用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