2015-01-09 179 views
1

我遇到問題databinding下拉列表。我遵循MVC結構,這就是我的做法。無法數據綁定下拉列表

這裏是我的模型層的功能:

function GetTillverkare() 
{ 
    $data = array(); 
    mysql_set_charset('utf8'); 
    $query = "Select Namn from Tillverkare"; 
    if(!$sql = mysql_query($query)) { 
     throw new exception("Error: Can not execute the query."); 
    } else { 
     $num = mysql_num_rows($sql); 
     if($num>0) 
     { 
      for($i=0; $i<$num; $i++) 
      { 
       $data[$i] = mysql_fetch_array($sql); 
      } 
     } 
    } 
    return $data; 

} 

這裏是我的控制器層的代碼:

$displayResults = new Sok() //Sok is my model class. 

$GetTillverkare = $displayResults->getTillverkare(); 
//I am able to print the $GetTillverkare so there is no problem with getting the data. 

這裏是我的視圖層

Fabrikat:<br /> <select name="Tillverkare_search" id="Tillverkare_search"> 
     <option value="" selected="selected">Pick</option> 
     <option value="<?php echo $GetTillverkare ?>"</option> 

    </select><br/> 

我不沒有任何錯誤,但它不會在下拉列表中顯示數據。這是空

回答

0

你的模型函數返回數組,所以你不能用回聲打印陣列,如果陣列 的每個索引是此列表的元素嘗試打印這樣

for($i=0;$<sizeof($GetTillverkere;$i++){ 
echo "<option value='".$GetTillverkere[$i]."'>".$GetTillverkere[$i]."</option>"; 
} 

,你也有未關閉的HTML標籤在第二個選項標籤,並嘗試打印名稱的值的選項,但沒有在標籤之間,這是該標籤的可見部分

+0

我試過了,但只有「Array,Array,Array」作爲結果下拉列表..不知何故數組的名稱沒有顯示.. –

+0

當我打印出'$ GetTillverkare'我得到* Array([0] => Array([0 ] =>高級仿生學[高級仿生學] =>高級仿生學)[1] =>陣列([0] =>耳蝸[tillverkare] =>耳蝸)[2] =>陣列([0] => Med-El [tillverkare ] => Med-El)[3] => Array([0] => Med-El [tillverkare] => Med-El))* –

+0

我修正了它。非常感謝您的幫助 –