[英]Difficulties getting values from a <select>
我试图在<option>
标记中获得用户的选择。
多个<option>
标记是从数据库中的数据生成的。
形式如下:
<form action="mudaVideo.php" method="post">
<label for="sel1">escolher o vídeo</label>
<select class="form-control" name="apagar">
<?php
$sql = "SELECT * FROM video ORDER BY idvideo";
$result = mysqli_query($conn,$sql) or trigger_error("SQL", E_USER_ERROR);
while ($list = mysqli_fetch_assoc($result)) {
$idvideo = $list["idvideo"];
$titulo = $list["titulo"];
$subtitulo = $list["subtitulo"];
$link = $list["link"];
echo '<option>'.$titulo.'</option>';
} // end while
?>
<option>wow ate me passo</option> -->
</select>
<button type="submit" name="apagar" class="btn btn-primary" id="enviar" style="background-color:transparent; color:black;">apagar vídeo</button>
</div>
</form>
这是我的PHP:
if(isset($_POST['apagar'])) {
$id = $_POST['apagar'];
echo 'a escolha foi ' . $id . '!';
$sql = "DELETE FROM video
WHERE idvideo='".$id."'";
$result = mysqli_query($conn, $sql);
if ($conn->query($sql) === TRUE)
{
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
当我尝试回显$ id的值时,它是空的,所以出了点问题。
提前致谢
您将需要<option>
的value
属性。
例如:
<select name="apagar">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">Third</option>
</select>
您可以使用以下方法解决此问题:
echo '<option value="' . $titulo . '">'.$titulo.'</option>';
同样, <button>
和<select>
都具有相同的名字apagar
,因此它具有后者的值,就像在<select>
:
<select class="form-control" name="apagar">
<button type="submit" name="apagar" class="btn btn-primary" id="enviar" style="background-color:transparent; color:black;">apagar vídeo</button>
问题是您有两个名称相同的表单元素。 您select
的名称为apagar,但您的button
也是如此。 由于按钮位于选择之后,因此它将覆盖选择的名称。 您还需要一个value=""
及其每个选项的ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.