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, время: 22:40. |