У меня проблемы с привязкой данных к выпадающему списку. Я следую за структурой MVC, и вот как я это сделал.
Вот функция из моего слоя Model:
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.
Вот мой слой View
Fabrikat:<br /> <select name="Tillverkare_search" id="Tillverkare_search">
<option value="" selected="selected">Pick</option>
<option value="<?php echo $GetTillverkare ?>"</option>
</select><br/>
Я не получаю никакой ошибки, но она не отображает данные в выпадающем списке. Оно пустое
Ваша модель модели возвращает массив, поэтому вы не можете распечатать массив по эхо, если каждый индекс массива
элемент этого списка, попробуйте напечатать этот путь
for($i=0;$<sizeof($GetTillverkere;$i++){
echo "<option value='".$GetTillverkere[$i]."'>".$GetTillverkere[$i]."</option>";
}
и у вас также есть незакрытый тег html во втором теге option, и вы пытаетесь напечатать имя до значения параметра, но не между тегами, которые являются видимой частью этого тега.
Других решений пока нет …