Получаю список "Категорий" из таблицы бд MySql
.
И задача заполнить Select полученным списком.
<script type="text/javascript">
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($("<option></option>")
.attr("value",key)
.text(value));
});
</script>
Все пишут это, но как передать массив тогда в js
? Тем более у меня массив не ассоциативный, а Одномерный.
<?php
function getArray($link) {
$query ="SELECT goods.name as Name FROM goods.categories;";
$result = mysqli_query($link, $query) or die("Ошибка: ".mysqli_error($link));
if($result) {
$i = 0;
while($row = mysqli_fetch_object($result)) {
$array[$i] = $row->Name;
$i++;
} // while
mysqli_free_result($result);
}
return $array;
}?>>
Вот я получаю массив. Осталось закинуть в select с id="mySelect"
...Как?)
Вывод можно посмотреть в другом вопросе, а вот как нужно делать получение
<?php
function getArray($pdo) {
return $pdo->query("SELECT id, name FROM categories")->fetchAll(PDO::FETCH_KEY_PAIR);
}
Здесь
И да - как правильно заметил автор другого ответа, HTML надо выводить как HTML
$array = getArray($link);//получаем массив опшнов
?>
<select id="mySelect" name="mySelect">
<?php foreach($array as $id => $name): ?>
<option id="<?=$id?>"><?=$name?></option>
</select>
<?php endforeach ?>
Ну, вероятно так
$array = getArray($link);//получаем массив опшнов
$out = '';
foreach($array as $k => $v){ //пробегаемся по каждому
$out .= "<option id='$k'>$v</option>"; //каждый опшн добавляем к выводу, обрамляя тэгом и айди
}
$out = "<select id='mySelect'>$out</select>";// обрамляем выводимые опшны в тэг select
echo $out;//выводим наш select
И да, совсем не учел случай, если у автора массив получается через запрос, а не через создание страницы:
//php
$array = getArray($link);
echo encode($array);
//js
$.ajax({
url: 'myscript.php',
}).success(function(data){
var response = JSON.parse(data);
for(i = 0; i < response.length; i++){
$('#mySelect').append('<option id = \'' + i + '\'>' + response[i] + '</option>' );
}
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты