[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Цена доставки
Kumirska
Всем привет!
Организации нашей в данный момент обновляют сайт, в ближайшее время его закончат,мне поручено сделать некий "калькулятор" для сайта, туда вводятся параметры окна,то есть выоста-ширина,далее из выпадающих списков выбирается тип стекла,тип армирования,рамка стеклопакета,тип профиля,количество камер,далее есть чекбоксы,определяющие заполнять ли камеры аргоном,добавить ли отлив,добавить ли откосы,добавить ли подоконник, затем нажимает кнопку "посчитать" и все эти параметры передаются постом на этот же скрипт,где в самом начале создается экземпляр класса,где в конструкторе ловятся все возможные посты. Далее следует куча арифметических операций по исчислению приблизительной стоимости окна. Одной из нерешенных идей осталась цена доставки. Это важный момент так как она сильно варьируется если заказчик живет не пределах города,но ориентация идет в рамках области. Начальство "желает" чтобы расчет был за каждые 10 км от города,я хотел реализовать с помощью Яндекс карт,отправил им пиьсмо,они прислали информацию и я узнал вот что:
Маршрутизатор — сервис автоматического прокладывания маршрутов на Яндекс.Картах. Сервис позволяет автоматически вычислять маршрут перемещения между заданными пунктами и получать различную информацию о проложенном маршруте (протяженность маршрута, время преодоления, а также данные, необходимые для построения маршрутного листа).
В режиме бета-тестирования сервис доступен для построения маршрутов по Москве и Московской области, а также для городов Украины.

а так как я нахожусь в Ростовской области городе Волгодонск, то мне данный сервис мучать не стоит.
Кто решал подобные задачи или может подсказать варианты её решения, прошу помочь.
Я думаю, что если особо не заморачиваться с картами и маршрутами, можно взять все районы области и воткнуть их в выпадающий список,а в библиотеке прописать все возможные варианты с ценами. Но может кто подскажет что-то иное



Спустя 7 минут, 35 секунд (6.02.2012 - 08:12) Каретный написал(а):
Цитата

Я думаю, что если особо не заморачиваться с картами и маршрутами, можно взять все районы области и воткнуть их в выпадающий список,а в библиотеке прописать все возможные варианты с ценами. Но может кто подскажет что-то иное


самое верное. зная километраж до той или инной точки высчитываем стоимость доставки.

Спустя 1 час, 49 минут, 34 секунды (6.02.2012 - 10:01) Undertaker написал(а):
Цитата
Я думаю, что если особо не заморачиваться с картами и маршрутами, можно взять все районы области и воткнуть их в выпадающий список,а в библиотеке прописать все возможные варианты с ценами. Но может кто подскажет что-то иное

дофига прописывать придётся..Но если уж так делать то лучше каждому названию города определить киллометраж (а-ля id) и потом по числу считать, тогда в случае изменения цены тебе придёться изменить одно значение а не всё базу(надеюсь поймёшь то что я хотел сказать, хоть я и как то криво объяснил))))

Спустя 2 часа, 26 минут, 39 секунд (6.02.2012 - 12:28) Kumirska написал(а):
В общем остался при своей идее, думаю так само оптимально будет, уже настрочил в библиотеку конструкцию switch,c 53 элементами.

Спустя 1 час, 33 минуты, 7 секунд (6.02.2012 - 14:01) Placido написал(а):
А зачем switch на ***десят элементов? Не проще все хранить в базе? Город - расстояние или город - координата (думаю, в Интернете можно найти список населенных пунктов с координатами), а расстояние вычислять каждый раз, и в зависимости от расстояния рассчитывать цену. В форму выводить все из базы циклом
<option value="<php echo $row['distance'] . '>' . $row['location'] ?></option>

Спустя 16 часов, 48 минут, 33 секунды (7.02.2012 - 06:49) Kumirska написал(а):
Placido, я не хотел задействовать базу, на данном этапе, у меня есть все расстояния от места изготовления до всех крупных городов и станиц, я в библиотеку фунций вставил этот массив:

function regionsRostov(){
$arr = array();
$arr[1] = "Азов";
$arr[2] = "Аксай";
$arr[3] = "Багаевская";
$arr[4] = "Батайск";
$arr[5] = "Белая Калитва";//....и тп
//затем перебор:

foreach($arr as $k=>$v){
print("<option value='$k'>$v</option>\n");
}
}


и вызов в шаблоне функции regionsRostov()
в нужном месте. Через базу согласен,и универсальнее и удобнее,пока оставлю так,регионов пока не прибавиться все равно,а переделать под мускул можно быстро,это не составит труда =) Спасибо за внимание!

Спустя 2 часа, 6 минут, 13 секунд (7.02.2012 - 08:56) Kumirska написал(а):
И всё-таки я вписал все в базу!!! user posted image
tongue.gif


_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.