Как правильнее сделать калькулятор услуг?

Доброго времени суток.

Помогите, пожалуйста, найти наиболее оптимальное решение.

Задача создать калькулятор, который будет подсчитывать по выбранным опциям минимальную цену за копию распечатки.

В калькуляторе будет 2 группы radio buttons. 1-я — выбрать способ печати(печать, копирование или мфу). 2-я — выбрать тип печати( цветная или ч/б ). Также можно выбрать кол-во копий и срок аренды оборудования(принтера). Цель - вывести самую минимальную цену за копию по входным данным в админке.

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

Формулы расчета у меня есть и я правильно получаю цену за копию для каждого принтера, но как вывести пользователю цену по его запросу?

Я правильно понимаю, что нужно записать из входных данных - способ печати и его тип в какой-то массив, а потом делать по нему выборку?

Но как тогда выводить минимальное значение из выбранных опции?

Прошу прощения, если получилось запутанно. Готов ответить на вопросы.

Спасибо
  • Вопрос задан
  • 433 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Zitttz
Нужно на серверной части сделать php скрипт, который обращается к базе данных и выводит цену, входные данные в него будут храниться в переменной $_POST.
На стороне пользователя, в коде страницы делается кнопка, отлавливается нажатие не нее и при нажатии вызывается ajax функция, которая отправляет запрос на сервер и при получении ответа меняет value нужного элемента, на пришедшую сумму.

Пример с jquery
getPrice.php
$type = $_POST['type'];
$count = $_POST['count'];
.....

echo $resultsum;

на стороне клиента
<div id='pricevalue'></div>
<div class='btn' id='updatePriceBtn'>Обновить прайс</div>

js
$(document).ready(function(){
    $('#updatePriceBtn').live('click', function(e) {  
        type = .... //тут значение типа
        count = .... //тут количества
        updatePrice(type, count);
    });
});

function updatePrice(type, count){
data = 'type='+type+'&count='+count;
$.ajax({
    url: 'getPrice.php',             // указываем URL и
    type: "POST",
    data: data,
    success: function (data, textStatus) { // вешаем свой обработчик на функцию success
        $('#priceValue').text(data);
       return true;
    }
    error(function() { 
        alert("Ошибка выполнения");
        return false;
 })
});

}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 апр. 2024, в 17:10
20000 руб./за проект
28 апр. 2024, в 15:00
100000 руб./за проект
28 апр. 2024, в 14:43
5000 руб./за проект