2016-03-02 123 views
1

我試圖在html中使用php代碼來抓取數據庫中的內容以填充下拉菜單的值(請參見下文)。當我自己運行php腳本(test.php)時,我得到了所有期望的值。當嵌套在html中時,我在Select a Species下得到的只有一個空白值。我預計這會在while循環中多次運行,因爲返回的值大約有7個,我還希望這些內容包含從表中派生的數據。在html中使用php代碼動態加載下拉列表

我正在嘗試可能是正確的? 難道僅僅與代碼中的錯誤(沒有錯誤日誌中彈出)

<label for="select">Species Observed : </label> 
<select name="select" class="textfields" id="species"> 
    <option id = "0">-- Select a Species -- </option> 
    <?php 
     $con = mysqli_connect("localhost","xxx","xxxx","databases"); 
     $result = mysqli_query($con, "SELECT * FROM bc_species WHERE 1"); 
     while ($row = $result->fetch_assoc()){ 
    ?> 
    <option><?php echo $row['species'];?></option> 
    <?php } ?> 
</select> 
+0

'json_encode'是什麼?只是回顯它結合標記選項 – Ghost

+0

檢查在這個SELECT * FROM bc_species WHERE 1中的哪裏。 –

回答

1
<option><?php echo $row["species"]; ?></option>    
0
<?php 
     $optionData = '<option id = "0">-- Select a Species -- </option>'; 

     $con = mysqli_connect("localhost","xxx","xxxx","databases"); 
     $result = mysqli_query($con, "SELECT * FROM bc_species WHERE 1"); 
     while ($row = $result->fetch_assoc()){ 
      $optionData .= "<option>".$row['species']."</option>" ; 
     } 
?> 
<label for="select">Species Observed : </label> 
<select name="select" class="textfields" id="species"> 
    <?php echo $optionData;?> 
</select> 
0

//把一個陣列上您獲取的數據然後循環他們這樣

<?php 
         foreach ($list as $data => $item) { 
        ?> 
         <option value="<?php echo $data?>"> 
          <?php echo $data?> 
         </option> 
        <?php 
         } 
        ?> 
0

這應該工作:

<label for="select">Species Observed : </label> 
<select name="select" class="textfields" id="species"> 
    <option id = "0">-- Select a Species -- </option> 
    <?php 
     $con = mysqli_connect("localhost","xxx","xxxx","databases"); 
     $result = mysqli_query($con, "SELECT * FROM bc_species"); 
     while ($row = $result->fetch_assoc()){ 
      echo '<option>'. $row["species"].'</option> 
    } ?> 
</select> 

你是否t遍歷HTML <option>標籤中的值,所以我將它們移入while循環。 (注意PHP部分包括回顯這些標籤)。

我還從查詢中刪除了不必要的「SQL注入」where 1子句。