无法对下拉列表进行数据绑定

Can't databind a dropdown list

我在对下拉列表进行数据绑定时遇到问题。我正在遵循 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/>

我没有收到任何错误,但它不显示下拉列表中的数据。它是空的

你的模型函数 returns array 所以你不能通过 echo 打印数组,如果数组的每个索引 是此列表的元素尝试以这种方式打印

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

并且您在第二个选项标签中也有未关闭的 html 标签,并且您尝试将名称打印到选项的值但没有在标签之间,这是该标签的可见部分