我试图删除我的数据库中的记录.所以基本上我创建了一个包含所有记录的表.现在我需要做的是当我点击"删除"链接时,它将删除记录选择的行.
这是它的样子:
所以基本上我这里有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>
Run Code Online (Sandbox Code Playgroud)
这是我的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');
?>
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我的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');
?>
Run Code Online (Sandbox Code Playgroud)
所以现在当我点击删除链接时,它必须实时删除按钮.任何的想法?
修改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');
?>
Run Code Online (Sandbox Code Playgroud)
至于你的add.php,你使用的是:
$insertEmail = run_mysql_query($query);
if(run_mysql_query($query))
Run Code Online (Sandbox Code Playgroud)
您应该将其更改为:
$insertEmail = run_mysql_query($query);
if($insertEmail)
Run Code Online (Sandbox Code Playgroud)
你现在正在做的是你通过两次调用run_mysql_query来执行查询两次.这应该解决它
$query = "DELETE FROM email_tbl WHERE id=".$_GET['id']." LIMIT 1";
Run Code Online (Sandbox Code Playgroud)