JSON и его сразу в скрипт!
$category_get_json = json_encode($category_get_res,JSON_UNESCAPED_UNICODE); выдает функция
<script>
var category =[];
category = <?echo category_get();?>;
console.log(category.length);
for (var i=0;i<=category.length;i++){
console.log(i+"="+category[i].name);
}
</script>
Выводит в лог с ошибкой TypeError: category[i] is undefined как подправить? |
вы пытаетесь итерировать объект а не массив, ибо json_encode возвращает объект JSON а не массив JavaScript
|
devote,
var category = new Object(); тоже не помогает |
Цитата:
Писать надо так:
var category = <?echo category_get();?>;
for (var key in category) {
console.log(key + "=" + category[key].name);
}
|
devote,
ну пишу
var input_li = $("<li>",{
text: category[key].name
});
$("#menu_tabs ul").append(input_li);
реакции ноль! |
Есть другие варианты решений? Чтоб я его переменную мог юзать полноценно!
|
А что дает эта строка <?echo category_get();?> после отработки php-сценария?
|
Цитата:
|
Я выдергиваю с базы данных таблицу с полями id и name) Ассоциативный массив)
|
function category_get(){
global $mc;
global $ms;
if(!$category_get_json = $mc->get('category')){
try {
$category_get_sql = "SELECT * FROM category";
$category_get_sth = $ms->prepare($category_get_sql);
$category_get_sth->execute();
$category_get_res=$category_get_sth->fetchall((PDO::FETCH_ASSOC));
}catch (Exception $e) {echo $e->getMessage();}
$category_get_json = json_encode($category_get_res,JSON_UNESCAPED_UNICODE);
$mc->set('category',$category_get_json , false, 60);
}
return $category_get_json;
}
|
| Часовой пояс GMT +3, время: 08:55. |