Цитата:
И организовывать данные по типу price = {тумбочка: 100, табуретка: 50}; color = {тумбочка: 'Коричневая', табуретка: 'Черная'}; desc = {тумбочка: 'Прикроватная', табуретка: 'Кухонная'}; Как-то не удобно. Гораздо удобней так: prices = [{ id: 77, name: 'тумбочка', desc: 'Прикроватная', color: 'Черная', price: 900 }, { id: 78, name: 'Табуретка', desc: 'Кухонная', color:'Коричневая', price: 400 }]; Поэтому мне надо организовать удобный доступ к этому массиву. Понятно что выбирать я буду по id. Пример c name был приведен сходу, для примера. |
Цитата:
php $r=$link->query($q); $res=$r->fetch_assoc(); // тут православные заголовки echo json_encode($res); js/ajax var row = JSON.parse(link.responsetext); Юзайте. Получится именно как в последнем примере. В запросе регулируйте количество полей, конкатенацию, типы и все такое. |
Православные заголовки
header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Content-type: application/json; charset=utf-8'); |
Цитата:
Вот это - другое дело: var products = { 'тумбочка': { id: 77, desc: 'Прикроватная', color: 'Черная', price: 900 }, 'табуретка': { id: 78, desc: 'Кухонная', color:'Коричневая', price: 400 } }; alert(products['тумбочка'].price); alert(products['табуретка'].color); |
Продукт идентифиуируется по id однозначно. Тумбочек может быть стопицот разных форм и размеров и цен.
То же самое, но кошерно: Код:
$r=$link->query($q); // то есть какой-то запрос, в котором id непременно первой колонкой var prod = products[elem.id.replace('id','')].price; |
Более того, грузить заранее может и не надо ничего кроме этих id. По ним как два пальца загрузить обширную строку со всем барахлом и тут же ее вставить куда надо.
Тфу блин, а же и рассуждал в парадигме аякса со всеми этими заголовками. |
Есть еще табличная структура, например $_FILES в нее компилятся.
var prods = { id:[78, 35, 43], color:['green', 'red', 'orange'], price:[123, 456, 789] }; Что дает? Например products.color это готовый список для select option. Если так хранится заказ то product.price - это готовый список для суммирования total'а Адресация идеальна в циклах, директом - жопа. index = products.id.indexOf(78); color= products.color[index]; Можно дополнительно проиндексировать. У меня так и сделано, кстати, но на php. Что дает? А например я получаю любую колонку по ее номеру через аякс с того же самого опупенного запроса, из которого запросы на все остальные колонки (идентификаторы) просто выкидываются, а табличная структура позволяет отгрузить результат той же продуктовой модели прямо в браузер. Кроме того трансформация (рендер) данных по колонкам гораздо эффективнее чем по строкам. Потому что на каждую колонку требуется отдельные, нередко изрядные опции. Например есть адрес сайт/tables/?p=1... туева хуча фильтров может быть, и буква j означает - идтикаты на аякс. значение j=3 означает выдай-ка всю четвертую колонку, только одну. Чпок и выдали. Юзер чпок и получил подсказку какие вообще в этой колонке могу быть уникальные значения. Потому что у него 15 страниц скажем. |
Да, тут я подумал прототипирование бы пригодилось. Табличную структуру засунуть в геттер и будет лепота.
|
Цитата:
|
kostyanet,
а лаконично по делу и без жаргона слабо? |
Часовой пояс GMT +3, время: 12:09. |