【发布时间】:2017-05-15 13:12:29
【问题描述】:
我创建了一个从数据库中释放用户的表。每个用户都有一行,旁边是一个用于从数据库中删除用户的按钮。问题是当我单击特定按钮时,我不知道如何真正从数据库中删除特定用户。我不知道该怎么做。
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"pl-PL\">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Rezultat zapytania</title>
<style>
#container {
max-width: 1000px;
}
</style>
</head>
<body>
<div id="container">
<table width="1000" align="center" border="1" bordercolor="#d5d5d5" cellpadding="0" cellspacing="0">
<tr>
<?php
require_once "connect.php";
$baza = @new mysqli($host, $db_user, $db_password, $db_name); //Połączenie z bazą danych
$sql = "SELECT id, user, pass, email FROM users";
$result = $baza->query($sql);
$ile = mysqli_num_rows($result);
echo "znaleziono: ".$ile."<br /><br />";
if ($ile>=1)
{
echo<<<END
<td width="50" align="center" bgcolor="e5e5e5"></td>
<td width="50" align="center" bgcolor="e5e5e5">IDUsera</td>
<td width="20" align="center" bgcolor="e5e5e5">NazwaUsera</td>
<td width="20" align="center" bgcolor="e5e5e5">HasloUsera</td>
<td width="20" align="center" bgcolor="e5e5e5">EmailUsera</td>
</tr><tr>
END;
}
for ($i = 1; $i <= $ile; $i++)
{
$row = mysqli_fetch_assoc($result);
$a1 = $row['id'];
$a2 = $row['user'];
$a3 = $row['pass'];
$a4 = $row['email'];
echo<<<END
<td width="50" align="center"><a class="button_red" href="delete_user.php">Delete</a></td>
<td width="50" align="center">$a1</td>
<td width="100" align="center">$a2</td>
<td width="100" align="center">$a3</td>
<td width="100" align="center">$a4</td>
</tr><tr>
END;
}
?>
</tr></table>
</div>
</body>
</html>
【问题讨论】:
-
基本语法:
DELETE FROM table WHERE col_x = ?- 你尝试/搜索过什么吗? 现在说实话。编辑:这是一个问题;我希望它得到回答(由你)。所以,你呢? -
您可以执行@Fred-ii 提到的所有硬删除,但您也可以创建一个名为 deleted 的列,当值 == 1 时,您不会在结果中显示它。跨度>
-
您需要使用
$_GET或$_POST将id 传递给delete_user.php。由于您使用的是<a>标签,因此它将是$_GET -
...当然是使用准备好的语句 ;-)
-
恕我直言,这个问题太宽泛了;尝试一些东西,然后在您尝试的代码遇到困难时回来。这样做,你会在这个过程中学到一些东西。
标签: php mysql database delete-row