@Kirr07

Форма заказа товара с выпадающим списком. Как посчитать итоговую стоимость?

Есть форма заказа, списки заполняются из файлов, в которых указаны названия и цены. Как сделать подсчёт итоговой стоимости?
Стоимость заказа = Стоимость торта за кг*Вес торта + Стоимость оформления.
602e830964768675421129.png
<form method="post">
<label>Введите ваше имя*</label><br>
<input type="text"><br><br>
<label>Введите ваш E-mail*</label><br>
<input type="e-mail"><br><br>

<label>Выберите что вы хотите заказать</label><br>
<?php
    $fp=fopen("Price_3.txt","r");
    echo'<select name="change">';
    while(!feof($fp)){
        $line=trim(fgets($fp));
        echo "<option>{$line}</option>";
    }
    fclose($fp);
    echo'</select>';
?><br><br>

<label>Выберите вид оформления</label><br>
<?php
    $fp=fopen("Price2.2.txt","r");
    echo'<select name="change">';
    while(!feof($fp)){
        $line=trim(fgets($fp));
        echo "<option>{$line}</option>";
    }
    fclose($fp);
    echo'</select>';
?><br><br>
<label>Вес торта/количество капкейков*</label><br>
<input type="number" name="kol"><br><br>
<label>Выберите дату*</label><br>
<input type="date"><br><br>
<label>Комментарий</label><br>
<textarea></textarea>
<input type="submit">
</div>
</form>
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 2
@ArkHiMed-tech
На JS пишется за пару строк, допустим:

var price = document.querySelector("#price"); //Ищем блок с ценой
var count = document.querySelector("#count"); //Ищем блок с количеством товара
var output = document.querySelector("#output); //Ищем блок вывода
var button = document.querySelector("#button"); //Ищем кнопку отправления
//var decorate = document.querySelector("#decorate"); //Тут если надо, ищем цену оформления или просто записываем число - цену оформления

button.addEventListener ("click", function (evt) {
evt.preventDefault();
output.value = (price.value * count.value) + decorate; //К decorate прибавляем .value если это блок, а не просто число
}
Ответ написан
@lolzqq
HTML,CSS,JS,PHP
https://www.php.net/manual/ru/function.preg-match.php - функция preg_match() - находит строку, подходящую под шаблон регулярного выражения
Для подбора выражения https://regex101.com/
Например такое выражение [0-9]* в строке "Капкейк, украшенный мастикой + роавпор*900 руб." - найдёт "900".
Функция preg_match() позволяет поместить найденные значения в возвращаемый массив.

$re = '/[0-9]*/m';
$str = 'Капкейк, украшенный мастикой + роавпор*900 руб.';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

// Печатаем все найденные совпадения
var_dump($matches);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы