Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Php калькулятор цен

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
lQuestl
Отправлено: 20 Ноября, 2017 - 20:28:41
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Нояб. 2017  


Помог: 0 раз(а)




Здравствуйте, формумчане!
Прошу вашей помощи. Буду благодарен за любую помощь.
На сайте хочу сделать калькулятор цен. Приведу пример, как должен работать.
Пример:
1 строчка - выпадающее список "список продуктов" порядка 20 продуктов.
2 строчка - выпадающее список "тип продукта" например продление или новая. цена зависит от типа продукта.
3. выбрать диапазон устройств. цена тоже зависит от диапазона.
4. строчка - указывают количество
5. строчка выводит стоимость продукта.
Сценарий - выбрал продукт- указал тип скидки (новая или продление) - выбрал диапазон - указал количество.
калькулятор показал стоимость.

Как пример https://www[dot]kaspersky[dot]ru/small-t[dot][dot][dot]s-security/cloud
При выборе количества считается цена, только тут уже выбран продукт. У меня их будет более 20шт.

Заранее спасибо.
 
 Top
Vladimir Kheifets
Отправлено: 21 Ноября, 2017 - 08:15:28
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




lQuestl пишет:
Здравствуйте, формумчане!
Прошу вашей помощи. Буду благодарен за любую помощь.
На сайте хочу сделать калькулятор цен. Приведу пример, как должен работать.
Пример:
1 строчка - выпадающее список "список продуктов" порядка 20 продуктов.
2 строчка - выпадающее список "тип продукта" например продление или новая. цена зависит от типа продукта.
3. выбрать диапазон устройств. цена тоже зависит от диапазона.
4. строчка - указывают количество
5. строчка выводит стоимость продукта.
Сценарий - выбрал продукт- указал тип скидки (новая или продление) - выбрал диапазон - указал количество.
калькулятор показал стоимость.

Как пример https://www[dot]kaspersky[dot]ru/small-t[dot][dot][dot]s-security/cloud
При выборе количества считается цена, только тут уже выбран продукт. У меня их будет более 20шт.

Заранее спасибо.

Доброе утро!
Мне кажется, что в начале должен выбираться "тип продукта", а затем "список продуктов", но это не столь важно.
1. Очевидно, что нужно сделать форму для ввода/выбора данных.
2. Если, Вы хотите чтобы работало как в примере, то Вам нужно для каждого
объекта обрабатывать событие связанные с измение значений.
3. Далее возможно два решения - как в Вашем примере, без перезагрузки формы,
либо с перезагрузкой. Перезагрузка необходима,в том случае, если требуется
выбирать данные из БД, использую введённые данные для генерации запросов.

Если необходимо перезагрузка, то всё просто. Ставите в каждый объект обработчик
onChange делаете submit формы.
Немного, сложнее, без перезагузки. Делется это, например, так:
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Calculator</title>
  5. <script>
  6. //-------------------------------------------------------------------
  7. function SetInnerHTML(id, v){
  8.  if(isId(id))    
  9.         window.document.getElementById(id).innerHTML = v;
  10. }
  11. //-------------------------------------------------------------------
  12. function isId(elId){
  13.     if(window.document.getElementById(elId))
  14.         r=true;
  15.     else
  16.         r=false;    
  17.     return r;    
  18. }
  19. //-------------------------------------------------------------------
  20. function GetValueById(elId){
  21.      if(isId(elId))
  22.      {
  23.               obj=window.document.getElementById(elId);
  24.               t=obj.type;
  25.               if(t.match(/^select/))
  26.               {
  27.                       ind = obj.selectedIndex;
  28.                      opt = obj.options;
  29.                      return opt[ind].value;
  30.               }
  31.               else
  32.               {                      
  33.                       return obj.value;
  34.               }
  35.      }
  36.      else
  37.              return false;
  38. }
  39. //-------------------------------------------------------------------
  40. function ChangePrice(){
  41. A=GetValueById("A");
  42. B=GetValueById("B");
  43. P=A*B;
  44. SetInnerHTML("price",P);
  45. }
  46. //-------------------------------------------------------------------
  47. </script>
  48. </head>
  49. <body>
  50. <form action=" " method="get">
  51. <select name="A" id="A" onChange='ChangePrice()'>
  52. <option>10</option>
  53. <option>20</option>
  54. <option>30</option>
  55. </select>
  56. <select name="B" id="B" onChange='ChangePrice()'>
  57. <option>5</option>
  58. <option>6</option>
  59. <option>7</option>
  60. </select>
  61. </form/
  62. Цена:
  63. <div id="price"></div>
  64. </body>
  65. </html>

Удачи!

(Отредактировано автором: 21 Ноября, 2017 - 08:18:28)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB