如何创建使用 PHP 从数据库中删除行的下拉菜单?
Posted
技术标签:
【中文标题】如何创建使用 PHP 从数据库中删除行的下拉菜单?【英文标题】:How to create a dropdown menu that uses PHP to delete rows from database? 【发布时间】:2019-02-21 19:56:40 【问题描述】:我目前正在我的学院学习 php,但我对此感到困惑。我不知道如何使用 html 表单在 PHP 中创建下拉菜单以从数据库中删除一行。这是我的代码:
//This is index.php
<div>
<?php
include('includes/delete.php');
?>
<form method="POST" action="includes/delete.php">
<select name="username">
<?php
$sql = mysqli_query($connection, "SELECT user_name, user_lastname FROM users");
while ($row = mysqli_fetch_assoc($sql))?>
<option>
<?php echo $row['user_name'];?>
<?php echo $row['user_lastname'];?>
</option>
<?php ?>
</select>
<input type="submit" name="delete" value="Delete">
</form>
</div>
//This is delete.php
<?php
$serverName = "localhost";
$userName = "root";
$userPassword = "";
$dbName = "baza_podataka";
$connection = mysqli_connect($serverName, $userName, $userPassword, $dbName);
//Checking connection
if (!$connection)
die("Error: Could not connect!" . mysqli_connect_error());
//Deleting an user from database
if(isset($_POST['delete']))
$username = $_POST['username'];
if(mysqli_query($connection, "DELETE FROM 'users' WHERE 'username' = '$username' " ))
echo "User was deleted!";
else
echo "User could not be deleted! Please try again later.";
【问题讨论】:
【参考方案1】:delete 是按钮的id,不会发布。您需要检查 $_post['username']。
if(isset($_POST['用户名'])) $username = $_POST['username']; ...
【讨论】:
【参考方案2】:您的代码中缺少的是您的select
标记中缺少option
值。同时,你的 sql 代码容易受到 sql 注入攻击,你应该使用绑定参数。好的,您将使用以下 sn-p 来运行您的代码。
<option value="<?php echo $row['user_name']?>" >
<?php echo $row['user_name'];?>
<?php echo $row['user_lastname'];?>
</option>
【讨论】:
好吧,我试过了,但没用,什么也没发生,它只是说“无法删除用户”,就像我在 ELSE 上写的那样......$_POST['username']
是否填充了数据?以上是关于如何创建使用 PHP 从数据库中删除行的下拉菜单?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 jQuery Chosen 选择下拉菜单中隐藏或删除选项