gpt4 book ai didi

php - 我想使用 PhP 删除组合框中的选定项目,并且该项目也必须反射(reflect)在数据库中

转载 作者:行者123 更新时间:2023-11-29 11:10:51 26 4
gpt4 key购买 nike

这是要删除的 php 代码。

<?php
$namez = $_POST['vendel'];
$name = mysql_real_escape_string($namez);
mysql_connect("localhost","root",
"") or die("Wrong username or password");
mysql_select_db("vendor") or die( "Unable to select database");
mysql_query("DELETE FROM vendoradd WHERE venname='$name'");
?>

这是我从组合框中进行选择的代码。

<form action="delete.php" method="post">
<select name="vendel">
<?php
$con=mysqli_connect("localhost","root","","vendor") or die("Unable to connect");
$query = mysqli_query($con,"select venname from vendoradd");
while ($row=$query->fetch_assoc()){
echo "<option value=\"vendel1\">".$row['venname']."</option>";
}
?>
</select>

<input type="submit" value="Delete" id="del">
</form>

我没有收到任何错误,页面正在重定向到delete.php 文件,但是当我交叉检查数据库时,所选数据不会被删除。任何帮助表示赞赏。提前致谢

最佳答案

嗯......这是因为你发布了一个值“vendel1”,这意味着你总是发送相同的值,只是为了让你知道......选择组合框的名称是索引中的索引$_POST 和选项中的值就是值,例如,如果您有:

<form action="" method="post">
<select name="foo">
<option value="1">Stack</option>
<option value="2">Overflow</option>
</select>
<input type="submit">
</form>
<?php
echo $_POST['foo'];
?>

然后您选择选项“堆叠”输出

$_POST['foo']

将为 1。

因此,如果您要使用选择组合框进行发布,则必须为每个选项提供唯一值,以便您可以删除数据库中的正确选项。我对您的建议是为表中的每个用户创建一个唯一的 ID,比较唯一 ID 比比较字符串更好...为什么?因为如果您有两个同名的人,您将删除他们,但是,使用唯一的 ID,您就不会有这个问题。如果你想删除

<form action="delete.php" method="post">
<select name="vendel">
<?php
$con=mysqli_connect("localhost","root","","vendor") or die("Unable to connect");
$query = mysqli_query($con,"select TRIM(venname) from vendoradd");
while ($row=$query->fetch_assoc()){
echo "<option value=".$row['venname'].">".$row['venname']."</option>";
}
?>
</select>
<input type="submit" value="Delete" id="del"></form>

你的删除应该是这样的:

   <?php

$namez = $_POST['vendel'];
$name = mysql_real_escape_string($namez);
mysql_connect("localhost","root", "") or die("Wrong username or password");
mysql_select_db("vendor") or die( "Unable to select database");
mysql_query("DELETE FROM vendoradd WHERE TRIM(venname) = TRIM('$name')");

?>

关于php - 我想使用 PhP 删除组合框中的选定项目,并且该项目也必须反射(reflect)在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40592946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com