2016-03-15 36 views
1

我試圖在<option>標記中獲取用戶的選擇。
根據數據庫中的數據生成多個<option>標記。從<select>獲取值的難點

這裏的形式:

<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的值,它是空的,所以一些錯誤是逃避我。

在此先感謝

回答

2

你需要在<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> 
+0

大聲笑愛我們如何編輯我們的答案,以包含我們錯過的部分對方的答案:p – blazerunner44

+0

@ blazerunner44大聲笑;) – Panda

2

問題是你有兩個具有相同名稱的表單元素。你的select有apagar的名字,但你的button也是。由於按鈕出現在選擇之後,它將覆蓋選擇的名稱。您還需要帶有每個選項的ID的value=""