2017-08-01 113 views
0

在我的php應用程序中,我有一個下拉菜單,它必須用food_list表(項目名稱)中的數據填充。 所以我有這些代碼塊。使用SQL表上的數據填充下拉列表?

<div class="col-sm-8"> 
<select name="item_name" class="form-control"> 
    <option> -- select food item --</option> 
    <?php 
     $ba = $b->get_all(); 
     foreach($ba as $item){ 

      echo "<option>$item->item_name</option>"; 
     } 

    ?> 
    </select> 

而且在我的課是我去過的get_all功能如下。

function get_all(){ 
    $sql = "SELECT * FROM food_list"; 
    $ref = $this->db->query($sql); 
    while($row=$ref->fetch_array()){ 
     $b=new foodlist(); 
     $b->item_name=$row['item_name']; 
     $b->unit_price=$row['unit_price']; 


     $ar[]=$b; 
    } 
    return $ar; 
} 

什麼可能是沒有得到填充相關數據的下拉菜單的原因。 注:數據庫連接是否正常工作

food_list(foodID,f_name,f_price)

的數據應該來自food_list表f_name列。 請善待我的幫助。 謝謝

+0

所以你是什麼問題面對? –

+0

'$ this-> db-> query($ sql)''你能提供整個班級嗎? – Keloo

+0

@AlivetoDie下拉列表未填寫表格中的數據 –

回答

2

要與mysqli_result::fetch_array()獲得多個值,你NEDD把這個變成一個while循環:

function get_all(){ 
    $sql = "SELECT * FROM food_list"; 
    $ref = $this->db->query($sql); 

    while ($row = $ref->fetch_array()) { 
      $ar[] = $row; 
    } 

    return $ar; 
} 

這將返回一個這樣的數組:

Array (
    Array (
      [item_name] => Item 1 name 
      [unit_price] => 15.00 
    ) 
    Array (
      [item_name] => Item 2 name 
      [unit_price] => 20.00 
    ) 
) 
+1

這是正確的答案。只需添加他將如何在選項值和名稱部分中使用它。 –