Цитата:
И организовывать данные по типу
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, время: 21:31. |