您好我有以下代码显示数据库结果,在表的第3个TD中我想插入删除按钮,这将删除按钮旁边的数据的表记录,应该是什么代码删除按钮的tabe的第3个TD?
<?php
$con=mysqli_connect("localhost","table","password","database");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM recetas_galletas");
echo "<table border='1'>
<tr>
<th>Title</th>
<th>Description</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['description'] . "</td>";
echo "<td>" . DELETE BUTTON "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
答案 0 :(得分:1)
您可以创建一个将id传递给另一个预先形成删除的php页面的链接。所以链接将是:
echo "<td><a href='http://www.site.com/delete.php?id=" . $row['id'] . "'></td>";
然后在你的delete.php中:
if (is_int($_GET["id"]) {
$query = "DELETE FROM recetas_galletas WHERE id = " . $_GET["id"];
$result = mysqli_query($con, $query);
// Check the result and post confirm message
}
这是一种非常简单的方法,但它可能不是最适合您的。如果您没有验证此页面的用户,任何人都可以轻松操作此代码并删除该表的任何行。 / p>
其他方式可能导航到同一页面并在同一页面中执行相同的过程,或者您可以使用ajax但这是另一个问题。
希望这有助于我的英语。
答案 1 :(得分:0)
有几种方法可以存档,首先,最重要的是您需要在数据库表上使用一个字段来识别要删除的记录,例如ID或唯一形式的主键键。
您可以通过创建带有delete.php
页面文本的链接来完成此操作,也可以使用JQuery和AJAX,也可以使用内部表单。
您还希望只有授权用户才能使用这些页面,因此您还需要一个包含会话的登录页面。
You can see here an example of login page with sessions.
最简单的是删除页面的链接,请参见此处的示例:
<?php
$con = mysqli_connect("localhost","table","password","database");
// Check connection
if (mysqli_connect_errno())
{
die("Failed to connect to MySQL: " . mysqli_connect_error());
}
if (!$result = mysqli_query($con,"SELECT * FROM recetas_galletas"))
{
die("Error: " . mysqli_error($con));
}
?>
<table border='1'>
<tr>
<th>Title</th>
<th>Description</th>
</tr>
<?php
while($row = mysqli_fetch_array($result))
{
?>
<tr>
<td><?php echo $row['title']; ?></td>
<td><?php echo $row['description']; ?></td>
<td><a href="delete.php?id=<?php echo $row['id']; ?>">Delete</a></td>
</tr>
<?php
}
mysqli_close($con);
?>
</table>
然后在删除页面上你会有这样的东西:
<?php
// Your database info
$db_host = '';
$db_user = '';
$db_pass = '';
$db_name = '';
if (!isset($_GET['id']))
{
echo 'No ID was given...';
exit;
}
$con = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($con->connect_error)
{
die('Connect Error (' . $con->connect_errno . ') ' . $con->connect_error);
}
$sql = "DELETE FROM recetas_galletas WHERE id = ?";
if (!$result = $con->prepare($sql))
{
die('Query failed: (' . $con->errno . ') ' . $con->error);
}
if (!$result->bind_param('i', $_GET['id']))
{
die('Binding parameters failed: (' . $result->errno . ') ' . $result->error);
}
if (!$result->execute())
{
die('Execute failed: (' . $result->errno . ') ' . $result->error);
}
if ($result->affected_rows > 0)
{
echo "The ID was deleted with success.";
}
else
{
echo "Couldn't delete the ID.";
}
$result->close();
$con->close();
答案 2 :(得分:0)
echo "
<form action='user.php' method='post'>
<table cellpadding='2' cellspacing='2' border='2' >
<tr>
<td>Id</td>
<td>Name</td>
<td>Gender</td>
<td>Action</td>
</tr>
";
$select = "select * from user";
$result = mysqli_query($con,$select);
while($r = mysqli_fetch_row($result))
{
echo "
<tr>
<td>$r[0]</td>
<td>$r[1]</td>
<td>$r[2]</td>
<td><input type='submit' value='Delete $r[0]' style='width:53px;' name='submit' ></td>
</tr>
";
}
echo "
</table>
</form>
";
if ($_POST['submit'])
{
$id = $_POST['submit'];
$id = end(explode(" ",$id));
$delete = "delete from user where id=$id";
mysqli_query($con,$delete);
header("Location:user.php");
}
?>