Мне нужен совет. Я строю сайт по продаже цветов. На странице будут два вертикальных окна. В левом окне будет список всех цветов, с ценами и другой информацией. На двойной клик выбранный цветок (вместе со всей информацией) будет копироваться в правое окно.
Два вопроса:
1. Каким объектом в левом окне лучше воспользоваться( таблица, див, список, ...)?
2. На правом окне будет кнопка "Сохранит" которая пошлет POST . Как POST может читать несколько данных в одной строке (id, цена, имя, совместимость,...)
Игорь_Vasinsky
23.04.2014 - 14:48
ту на клиенте без JS не обойтись
данные хранить можно в сессии
с сервером можно общаться посредством ajax
просто дописывать массив или удалять из массива.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
23.04.2014 - 14:51
Цитата |
1. Каким объектом в левом окне лучше воспользоваться( таблица, див, список, ...)? |
Таблица нужна только там, где данные нужно представить именно в табличной форме.
Верстка таблицами - позпрошлый век.
Див - это как правило контейнер чего-либо.
Список - это представление данных в виде списка (С) Кэп
Итого я бы рекомендовал:
Див - контейнер для всех элементов.
Список - для вывода элементов
Элементы списка - опять же в дивах (легче манипулировать будет, хотя на любителя)
Цитата |
2. На правом окне будет кнопка "Сохранит" которая пошлет POST . Как POST может читать несколько данных в одной строке (id, цена, имя, совместимость,...) |
POST не может ничего читать. POST - это посто метод передачи данных из формы в скрипт обработчика.
Тебе нужно сделать форму, в ней будут соответсвеющие для id, цена, имя, совместимость,... поля, и уже эту форму отправляешь в обработчик, а в обработчике встречаешь массив $_POST, в котором значения этих полей.
// ссори, возможно написал тривиальные вещи, но ты такую ерунду написал, что не понятно, что тебе не понятно
Цитата |
3. отсутсвующая цитата, сам выдумал |
Если же твой вопрос в том, как при клике в левом списке заполнить форму в правом окне, то тут JavaScript, там все просто.
Если используешь jQuery, то там еще проще.
4. аякс или не аякс?
а. Если элементов в левом списке много, то однозначно аякс. В списке слева минимум информации + id, при клике аяксом читаешь все об эелементе с определенным id и заполняешь форму справа.
б. если элементов не много, то можно слева в списке в скрытые поля занести уже всю информацию об элементе, и по клику уже просто читать яваскриптом данные из элемента списка.
Плюсы варианта а. - быстрее будет загрузка.
Минусы варианта а. - при каждом клике обращение к серверу и базе.
_____________
[продано копирайтерам]
Игорь_Vasinsky
23.04.2014 - 15:22
Цитата |
Минусы варианта а. - при каждом клике обращение к серверу и базе. |
да ну)) если сначала просто передавать id букета? а потом уже при "сохранить" обращаться к серверу?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
23.04.2014 - 15:25
Цитата (Игорь_Vasinsky @ 23.04.2014 - 15:22) |
Цитата | Минусы варианта а. - при каждом клике обращение к серверу и базе. |
да ну)) если сначала просто передавать id букета? а потом уже при "сохранить" обращаться к серверу?
|
А форму как заполнять? Данные откуда брать?
Например, элемент списка:
Букет Мартовские коты / Фото / цена / id
Данные для правой части:
Букет Мартовские коты / Фото / цена / id / срок доставки / описание / скидки / сотсав / количество порций / калорийность / совместимость с ОС
_____________
[продано копирайтерам]
Игорь_Vasinsky
23.04.2014 - 15:33
если букет справа отображается в таком же виде как и слева - то данные уже есть в левом блоке
если нет - то серверу достаточно передать только id этого букета
другое дело если речь идёт о корзине, да и в этом случае - цена может храниться в скрытом или открытом виде в левом блоке.
не так ли?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
23.04.2014 - 15:40
Игорь_Vasinsky
Мы о разных вещах говорим.
Я говорю о заполнении контентом правой части в зависимости от клика в левой.
Выше я это распиал: либо сразу все влево и яваскриптом грузим то что нужно вправо.
Либо только необходимое влево и аяксом подгружаем всю инфу в правую часть.
Каждый клик слева - обращение к серверу за инфой для правой части.
Если список небольшой, нет смысла делать аяксом, можно сразу все грузить в список, лишее скрыть просто.
_____________
[продано копирайтерам]
Цитата |
Если список небольшой |
Небольшой это сколько строк? 2 000 - большой или нет?
AllesKlar
23.04.2014 - 17:31
Telez2000 - это однозначно большой. Аяксом тогда лучше.
Более того, вывалить сразу 2000 элемнтов - это ну оооочень дурной тон.
Никто, действительно НИКТО не будет смотреть дальше 50-100 го букета.
Разбей на категории / сорта / цвета / не знаю еще на что
Пусть их будет ну 20 максимум, а в каждой категории уже по 100 букетов.
Хотя, если честно, то сдается мне ты лукавишь.
2 000 оригинальных букетов? Со всего интернета собрали, чтоли?
_____________
[продано копирайтерам]
Цитата |
Хотя, если честно, то сдается мне ты лукавишь.2 000 оригинальных букетов? |
Нет. 2000 (а может и больше) цветов из которых будут составляться букеты.
Но если вы приходите в магазин, то видите ВСЕ товары. Почему же не можете видеть все товары на сайте?
sergeiss
24.04.2014 - 10:48
Цитата (Telez @ 24.04.2014 - 10:41) |
Почему же не можете видеть все товары на сайте? |
Я тебе в другой теме писал уже. Просто посчитай, сколько времени нужно будет, чтобы просто просмотреть всю инфу, не сильно глубоко вникая в нее? Возьми 3-4 секунды на каждый цветок (хотя в жизни надо больше будет). Умножь на 2000. Получишь несколько часов. А потом еще надо составить из них букет, с учетом того, что он должен смотреться хорошо...
Ты можешь представить, чтобы кто-то в течение нескольких часов занимался этим делом? Я вот не стал бы
Если мне нужен букет, и я хочу его заказать именно в интернете, то я предпочту увидеть 30-40-50 готовых вариантов букетов, не более. Зашел - выбрал - заказал. За 5-10 минут, не больше.
И только как опцию - возможность самому набрать букет. Это для тех, у кого есть время и желание. Но таких будет 1%. Или 0.1% от общего числа посетителей.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Игорь_Vasinsky
24.04.2014 - 11:01
2000 разных цветов - сразу выложить на страницу для компановки букета - это как бы не то что для БД - это для посетителя не удобно. т.е. вообще не удобно
нужно как-то классифицировать и выложить списком, хоть по колору цветка, хоть в алфавитном указателе
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeissА вот ты и не прав с точки зрения маркетологии. Вернее не совсем прав. Да, выбирать будут из первых 50 допустим. Потому что выбирают из 5-10% представленного. Вспомни тот же супермаркет - ну положили бы на полку 5 видов конфет, нафиг их там сотни?
Если будет всего 50, выбирать будут из 5. И сложится впечатление, что ассортимент вял, выбрать не из чего. 2000 наверное многовато, но на этот вопрос может ответить только маркетолог. Однако совершенно точно то, что предложение должно многократно превышать спрос. Человек устал листать и выбрал из того, что просмотрел. И у него осталось впечатление, что там нескончаемо много.
А вообще еще есть система топов. Ну тоесть 10-20 самых популярных. И обязательно ротация.
Так что не всегда очевидное на первый взгляд верно.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Игорь_Vasinsky
24.04.2014 - 11:04
да, с точки зрения маркетологии - нужно бы как бы показать псевдо - топ (по сути это список дорогих цветов, не то что бы популярных)
далее организовать раскрывающийся список - а вот при раскрытии того или иного слоя - делать запрос и аяксом возвращать данные на клиент
помниться года полтора назад - было у меня такое тестовое задание, тока на ExtJS
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.