简体   繁体   English

从下拉列表中删除值

[英]Delete value from Dropdown list

I'm trying to Code a function that allow me to delete a selected value from a Dropdown list. 我正在尝试编写一个允许我从下拉列表中删除选定值的函数。

<?php
require_once("db.inc.php");
?>
</head>
<body>
<form action="" method="POST">
 <?php





$stmt = $mysqli->prepare("SELECT anr, name FROM artikel");
$stmt->execute();
$stmt->bind_result($anr, $name);


echo "<select name='selected_name'><br />";

while ($stmt->fetch()) {

echo '<option value='.$anr.'>'.$anr.' | '.$name.'</option>';


if(isset($_POST['loeschen'])){

    $stmt = $mysqli->prepare("DELETE FROM artikel WHERE anr=?");
        $stmt->bind_param('i', $anr);
        $stmt->execute();
        $stmt->close();
        $mysqli->close();

    }

}   


  ?>
  <input type="submit" value="Datensatz löschen" name="loeschen">
</form>
</body>
</html>

My Problem is that the values are going to be deleted even i don't press the submit button. 我的问题是,即使我没有按下提交按钮,也会删除这些值。 Thank you in advance for your suggestions. 提前感谢您的建议。

Use Post value instead of $anr. 使用Post值而不是$ anr。

<?php
require_once("db.inc.php");
?>
</head>
<body>
<?php
if(isset($_POST['selected_name'])){

    $stmt = $mysqli->prepare("DELETE FROM artikel WHERE anr=?");
        $stmt->bind_param('i', $_POST['selected_name']);
        $stmt->execute();
        $stmt->close();
        $mysqli->close();

    }

}
?>
<form action="" method="POST">
 <?php

$stmt = $mysqli->prepare("SELECT anr, name FROM artikel");
$stmt->execute();
$stmt->bind_result($anr, $name);
echo "<select name='selected_name'><br />";
while ($stmt->fetch()) {
echo '<option value='.$anr.'>'.$anr.' | '.$name.'</option>';
}
echo "</select>";
  ?>
  <input type="submit" value="Datensatz löschen" name="loeschen">
</form>
</body>
</html>

只有错误是代替这个$stmt->bind_param('i', $anr)使用下面

   $stmt->bind_param('i', $_POST['selected_name']));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM