УДАЛИТЬ запись в строке в PHP

Я пытался удалить запись в моей базе данных. Поэтому в основном я создал таблицу, содержащую все мои записи. Теперь мне нужно сделать, когда я нажимаю на ссылку «DELETE», она удалит выбранную запись.

Вот как это выглядит:

Поэтому в основном у меня есть 3 страницы.
1. page.php
2. add.php
3. delete.php

Вот мой файл page.php:

<table border="1"> <thead> <th>email</th> <th>date</th> <th>delete</th> </thead> <tbody> <tr> <?php foreach($emails as $mail){ ?> <td><?php echo $mail['email']; ?></td> <td><?php echo $mail['date']; ?></td> <td><?php echo "<a href='delete.php?id=". $mail['id']. "'>DELETE</a>"; ?></td> </tr> <?php } ?> </tbody> </table> 

Вот мой файл add.php:

 <?php require("new-connection.php"); session_start(); $email = $_POST['email']; if(empty($_POST['email']) AND (filter_var($email, FILTER_VALIDATE_EMAIL) === false)) { $_SESSION['message'] = "email cannot be blank"; }else{ $query = "INSERT INTO email_tbl (email, date) VALUES('$email', NOW())"; $insertEmail = run_mysql_query($query); if(run_mysql_query($query)) { $_SESSION['message'] .= "New RECORD has been added correctly!"; } else { $_SESSION['message'] .= "Failed to add new Interest"; } } header('Location: email.php'); ?> 

Вот мой файл delete.php:

 <?php require("new-connection.php"); session_start(); $query = "DELETE FROM email_tbl WHERE id={id} LIMIT 1"; $deleteEmail = run_mysql_query($query); if(run_mysql_query($query)) { $_SESSION['message'] .= "RECORD has been DELETED correctly!"; } else { $_SESSION['message'] .= "Failed to DELETE RECORD"; } header('Location: email.php'); ?> 

Итак, теперь, когда я нажимаю ссылку на удаление, она должна удалить кнопку в реальном времени. Есть идеи?

Related of "УДАЛИТЬ запись в строке в PHP"

Измените файл delete.php, чтобы получить параметр url:

 <?php require("new-connection.php"); session_start(); $id = $_GET['id']; $query = "DELETE FROM email_tbl WHERE id='$id' LIMIT 1"; $deleteEmail = run_mysql_query($query); if($deleteEmail) { $_SESSION['message'] .= "RECORD has been DELETED correctly!"; } else { $_SESSION['message'] .= "Failed to DELETE RECORD"; } header('Location: email.php'); ?> 

Что касается вашего add.php, вы используете это:

 $insertEmail = run_mysql_query($query); if(run_mysql_query($query)) 

Вы должны изменить его на это:

 $insertEmail = run_mysql_query($query); if($insertEmail) 

Сейчас вы выполняете запрос дважды, дважды вызывая run_mysql_query. Это должно исправить это

Обновите файл delete.php:

 $id = $_GET['id']; $query = "DELETE FROM email_tbl WHERE id='$id' LIMIT 1"; 

а также проверьте раздел ниже: вы выполняете запрос дважды. поэтому очевидно, что он добавит одну и ту же запись дважды.

 $insertEmail = run_mysql_query($query); if(run_mysql_query($query)) { $_SESSION['message'] .= "New RECORD has been added correctly!"; } 

Измените код, чтобы использовать только run_mysql_query.

 $query = "DELETE FROM email_tbl WHERE id=".$_GET['id']." LIMIT 1"; 

Смысл когда функция run_mysql_query в php?

http://php.net/manual-lookup.php?pattern=run_mysql_query&scope=quickref