Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
PHP Достаточно ли будет для создания сайта процедурного подхода? https://www.cyberforum.ru/ php-beginners/ thread2111949.html
Достаточно ли будет для создания сайта процедурного подхода? Я имею ввиду небольшие сайты, вряд ли начинающий программист бросится создавать интернет магазин или информационный портал. Так ли...
PHP Роутинг
Всем привет. Такой вопрос: есть вот такой роутер class Route { static function start() { // контроллер и действие по умолчанию $controller_name = 'Main'; $action_name =...
PHP Связать кнопку PayPal со своей DB на сервере https://www.cyberforum.ru/ php-beginners/ thread2111901.html
Добрый день! Подскажите, пожалуйста, как связать кнопку PayPal со своей базой данных, чтобы в неё дублировались данные о совершённой покупке (имя покупателя, его емэил, номер транзакции, сумма и...
PHP Не добавляется в таблицу базы данных MySQL новый пользователь https://www.cyberforum.ru/ php-beginners/ thread2111867.html
Помогите разобраться. Существует база данных и таблица, но не могу добавить данные в эту таблицу. Через phpmyadmin получается добавить SQL запросом, а через php нет. <?php define('DB_HOST',...
Не работает var_dump PHP
Посмотрите пожалуйста коды. Предполагается, что после введенных данных в форму - данные показываются в новом окне. Но у меня высвечивается код php и всё. Сама форма: <html> <head>...
PHP Скопировать урл из поисковой строки https://www.cyberforum.ru/ php-beginners/ thread2111815.html
Привет, подскажите мне такую вещь если скажем ссылка в браузере вида http://доми.com/papka/in.php?from=папа мне нужно чтобы эта ссылка отобразилась с самом документе, а точнее так <link...
PHP Передача данных между страниц На странице есть две формы По кнопке формы clicked передать значение формы registerform файлу action.php <form action="" method="post" name="registerform"> <label style="color:red">Город... https://www.cyberforum.ru/ php-beginners/ thread2111760.html Групировка значений PHP
Добрый день, есть массив Array ( => Array ( => 5953 => 199610 => 200309 => CL купе
PHP Вывод статей(данных с базы) https://www.cyberforum.ru/ php-beginners/ thread2111715.html
Делаю вывод статей с БД. Когда нахожусь на posts все ок, статьи видно, когда перехожу к конкретной статье пишет Object not found! The requested URL was not found on this server. The link on the...
PHP Интеллектуальный парсинг https://www.cyberforum.ru/ php-beginners/ thread2111679.html
Здравствуйте! Есть задача парсить некоторые формы html без информации о верстке всего сайта. Например: Мне нужно получить все объявления с сайта. Что есть объявление? Это область для картинки...
Как вытащить все числа из строки PHP
Подскажите пожалуйста есть строка типа как из нее вытащить все цифры в массив Через preg_match не могу понять как написать регулярное вырадение...
PHP Вывод текста на странице https://www.cyberforum.ru/ php-beginners/ thread2111365.html
Привет, подскажите что мне добавить в правило чтобы работало? <?if ($_SERVER=='/direktoria/index.php'){?>вывод текста<?}?> если захожу по ссылке domen.ru/direktoria/index.php
3322 / 2842 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
29.10.2017, 01:31 0

Вывести стоимость отдыха - PHP - Ответ 11662379

29.10.2017, 01:31. Показов 1326. Ответов 3
Метки (Все метки)

Ответ

Цитата Сообщение от Alexandra1988 Посмотреть сообщение
ничего не происходит
С этим вам уже помог andyyy выше, а меня слегка смущают ваши расчеты. В частности, "скидку" вы не отнимаете, а прибавляете, тем самым увеличиваете стоимость вместо её уменьшения. И тут еще вопрос в в последовательности: то ли надбавка за страну и скидка должны высчитываться от стартовой стоимости, то ли к стартовой стоимости прибавляется надбавка, а уже потом, если есть скидка, вычитается 5%?
Могу предложить такие варианты:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
$data = filter_input_array(INPUT_POST, [
  'country' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 1, 'max_range' => 3, 'default' => 1]],
  'days' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 1, 'default' => 0]],
  'disc' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 4, 'max_range' => 5, 'default' => 4]],
]);
if (!empty($data['days'])) {
  // Стоимость одного дня
  $day_cost = 400;
  // % надбавки для стран
  $country_surcharge = [
    1 => 0,
    2 => 0.1,
    3 => 0.12
  ];
  // % скидки
  $discount_percent = [
    4 => 0.05,
    5 => 0
  ];
 
  // Расчеты по первому варианту
  $start_cost = $data['days'] * $day_cost;
  $total = $start_cost + $start_cost * $country_surcharge[$data['country']] - $start_cost * $discount_percent[$data['disc']];
 
 
  // Расчеты по второму варианту
  /*
  $total = $data['days'] * $day_cost;
  $total += $total * $country_surcharge[$data['country']];
  $total -= $total * $discount_percent[$data['disc']];
  */
  echo $total;
}
И еще вот это
Цитата Сообщение от Alexandra1988 Посмотреть сообщение
есть ли у него скидка (чекбокс)
Элемента с типом checkbox, я у вас в коде не увидел. Если всё-таки вы решите его добавить, то укажите ему сразу значение равное 0.05
HTML5
1
<input type="checkbox" name="disc" value="0.05">
В этом случае нам не понадобится массив $discount_percent и в фильтрации нужно будет изменить тип фильтра и опции:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$data = filter_input_array(INPUT_POST, [
  'country' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 1, 'max_range' => 3, 'default' => 1]],
  'days' => ['filter' => FILTER_VALIDATE_INT, 'options' => ['min_range' => 1, 'default' => 0]],
  'disc' => ['filter' => FILTER_VALIDATE_FLOAT, 'options' => ['default' => 0]],
]);
if (!empty($data['days'])) {
  // Стоимость одного дня
  $day_cost = 400;
  // % надбавки для стран
  $country_surcharge = [
    1 => 0,
    2 => 0.1,
    3 => 0.12
  ];
  
  // Расчеты по первому варианту
  $start_cost = $data['days'] * $day_cost;
  $total = $start_cost + $start_cost * $country_surcharge[$data['country']] - $start_cost * $data['disc'];
 
  // Расчеты по второму варианту
  /*
  $total = $data['days'] * $day_cost;
  $total += $total * $country_surcharge[$data['country']];
  $total -= $total * $data['disc'];
  */
  echo $total;
}


Вернуться к обсуждению:
Вывести стоимость отдыха PHP
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2017, 01:31
Готовые ответы и решения:

Как при выборе select вывести количество и стоимость
Как при выборе значений из select'a(данные берутся из БД) в колонку &quot;Кол-во&quot; и &quot;Цена&quot; - вписывать 1...

Использование while: вывести прогнозируемую стоимость товара к концу текущего года и в последующие годы
Пусть стоимость товара равна 100 р. в начале текущего года. Процент инфляции в этом году по...

Вывести стоимость всех товаров в начале рабочего дня и стоимость всех не проданных товаров.
Продаются товары двух видов. Запросить с клавиатуры для каждого вида товаров цену, количество в...

Вывести стоимость
Вывести стоимость двух товаров и вывести насколько дороже первый чем второй

3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2017, 01:31
Помогаю со студенческими работами здесь

Вывести стоимость конфет
Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1, 2, … , 10 кг конфет. нужно...

For: Вывести стоимость 0.1, 0.2, ... , 1 кг конфет
For. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 0.1, 0.2, ... , 1 кг конфет. ...

Вывести стоимость 10 кг конфет
Помогите решить пожалуйста,у меня сейчас идет практика.

Вывести стоимость 10 кг конфет
Дано вещественое число 1кг конфет. вывести стоимость 0,1 0,2 ... 1 кг конфет. называйте темы...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru