から行を削除する私は関数を使用して削除機能を作成したいとjQueryjqueryのを使用してMySQLとPHP
私のjQueryの作品やショーのメッセージが、何も「何も削除された」と起こらない
のjQueryコード
<script type="text/javascript">
$(".remove").click(function(){
var id = $(this).parents("tr").attr("id");
if(confirm('Are you sure to remove this record?'))
{
$.ajax({
url: 'delete.php',
type: 'GET',
data: {id: id},
error: function() {
alert('Something is wrong');
},
success: function(data) {
$("#"+id).remove();
alert("Record removed successfully");
}
});
}
});
PHP関数のコード
function delete($table,$id) {
global $connect;
mysqli_query($connect, "DELETE FROM `$table` WHERE `id` = $id ");
}
Delete.phpコード
include ('function.php');
$id = $_GET['id'];
$table = 'msg';
delete($table,$id);
HTMLコード
<table class="table table-striped" style="background-color: #ffffff;">
<tr>
<th>ID</th>
<th>From</th>
<th>Title</th>
<th>Date</th>
<th>Action</th>
</tr>
<?php
$i = '1';
$username = $user_data['username'];
$query = "SELECT * FROM msg WHERE `go_to` = '$username' Order by id";
$result = mysqli_query($connect, $query);
while($row = mysqli_fetch_assoc($result))
{
?>
<tr>
<td><?php echo $i++; ?></td>
<td><?php echo $row['come_from']; ?></td>
<td>
<a href="read_message/<?php echo $row['id']; ?>"><?php if(count_msg_not_opened($username, $row['id']) > '0')
{
echo $row['title'];
}
else
{
echo '<b>' . $row['title'] . '</b>';
} ?></a></td>
<td><?php echo $row['date']; ?></td>
<td>
<button class="btn btn-danger btn-sm remove">Delete</button>
</td>
</tr>
<?php } ?>
</table>
私はこのメッセージは、「あなたは表示されます一番下の "削除" を押すと、私はまた、 "jquery.min.js"
が含まれますこのレコードを必ず削除してください。
「はい」を押すと、このメッセージは「レコードが正常に削除されました」と表示されますが、何も削除されませんでした。
問題の原因はわかりません。
PHPコードには、 'DELETE'が成功したのか、何かが削除されたのかをチェックするものは何もありません。 – Barmar
あなたはもっと良くすることができます。 '0;を渡すと、ドロップテーブルmsg; 'idとして、すべての行が一度に削除されます! mysqliは使用しないでください。これまで代わりにPDOを使用し、SQLインジェクションを読み上げてください。 http://php.net/manual/en/book.pdo.php – Peter
@Peterいいえ、そうではありません。動作させるには 'mysqli_multi_query()'を呼び出さなければなりません。 – Barmar