我有一个项目表来自我的数据库和每个项目我想要一个删除按钮.
目前它正在工作,但按钮显示ID号,我希望它只是说"删除".
我仍然希望它基于joke.ID删除
$result = mysqli_query($con, "SELECT joke.id, joketext, jokedate, name, email FROM joke INNER JOIN author ON authorid = author.id");
echo "<form action='delete1.php' method='post'>
<table border='1'>
<tr>
<th>Joke</th>
<th>Date</th>
<th>Name</th>
<th>Email</th>
<th>Delete</th>
</tr>";
while( $row = mysqli_fetch_array( $result ) ) {
echo "<tr>";
echo "<td>" . $row['joketext'] . "</td>";
echo "<td>" . $row['jokedate'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td><input type='submit' name='deleteItem' value='".$row['id']."' /></td>";
echo "</tr>";
}
echo "</table>";
echo "</form></br>";
mysqli_close($con);
?>
Run Code Online (Sandbox Code Playgroud)
这是 delete1.php
if ( isset( $_POST['deleteItem'] ) and is_numeric( $_POST['deleteItem'] ) ) {
// here comes your delete query: use $_POST['deleteItem'] as your id
mysqli_query($con,"DELETE FROM joke WHERE id='$_POST[deleteItem]'");
}
mysqli_close( $con );
header('Location: joke1.php');
exit();
?>
Run Code Online (Sandbox Code Playgroud)
我只想按下"删除"按钮
走另一条路.创建一个隐藏的输入元素如下:
echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>";
Run Code Online (Sandbox Code Playgroud)
并将现有的一个更改为
echo "<td><input type='submit' value='Delete' /></td>";
Run Code Online (Sandbox Code Playgroud)
而已.
编辑1:你必须为每个笑话保持不同的形式.
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['joketext'] . "</td>";
echo "<td>" . $row['jokedate'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td>";
echo "<form action='delete1.php' method='post'>
echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>";
echo "<input type='submit' value='Delete' />";
echo "</form>";
echo "</td>";
echo "</tr>";
}
Run Code Online (Sandbox Code Playgroud)