Вычисления из формы [php] - Форум об интернет-маркетинге
Этот сайт существует на доходы от рекламы.
Пожалуйста, выключите AdBlock.
Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 13.07.2018, 02:09   #1
Аспирант
 
Аватар для KianoT
 
Регистрация: 04.04.2012
Сообщений: 221
Репутация: 3206

По умолчанию Вычисления из формы [php]

Уважаемые, подскажите пожалуйста! Не хватает знаний в php.

Есть форма (form), в которой чекбоксом выбираешь от 1 до 3 заранее известных числа (три чекбокса - три числа).

<form>
<input type="checkbox" name="quant[one]" value="73000" />
<input type="checkbox" name="quant[two]" value="83000" />
<input type="checkbox" name="quant[three]" value="93000" />

<input type="submit" />
</form>

После того, как в форме поставил галочки, всё это дело отправляется на следующую страницу, кликая в форме на кнопку submit. За передачу на следующую страницу отвечает такой код:

Цитата:
session_start();

$_SESSION['order'] = array();
if (!empty($_POST)) {
if (!empty($_POST['quant']['one'])) {
$_SESSION['order'][] = array(
'name' => 'Первое значение',
'price' => (int)$_POST['quant']['one']
);
}
if (!empty($_POST['quant']['two'])) {
$_SESSION['order'][] = array(
'name' => 'Второе значение',
'price' => (int)$_POST['quant']['two']
);
}
if (!empty($_POST['quant']['three'])) {
$_SESSION['order'][] = array(
'name' => 'Третье значение',
'price' => (int)$_POST['quant']['three']
);
}

if (!empty($_SESSION['order'])) die(header('Location: /page/order.php'));
else die(header('Location: '.$_SERVER['REQUEST_URI']));
}
Если вкратце, то на следующую страницу передаются в таблицу из двух колонок 'name' и 'price' и высчитывается итог $total:

Цитата:
<table style="width:100%" id="order-kp">
<tr>
<td><b>Название значения</b></td>
<td><b>Само число из чекбокса</b></td>
</tr>';
$c = 1;
$total = 0;
foreach ($_SESSION['order'] as $item) {
$body .=
'<tr>
<td>'.$item['name'].'</td>
<td>'.$item['price'].'</td>
</tr>';
$total += round($item['price']+$item['price']);
}
$body .=
'<tr>
<td style="border: 0;"></td>
<td>Итого: '.$total.'</td>
</tr>';

$body .= '</table>';
Как видите, стронгом выделен сам вопрос:

$total += round($item['price']+$item['price']); - в данном случае у меня числа сами себя плюсуют(скрин ниже), но как сделать так, чтобы числа складывались число+число+число= итого



Заранее благодарен за помощь!!!
KianoT вне форума   Ответить с цитированием

Реклама
Старый 13.07.2018, 02:12   #2
LEOnidUKG
『 Работаем 』
 
Аватар для LEOnidUKG
 
Регистрация: 25.11.2006
Адрес: Интернет
Сообщений: 21,149
Репутация: 1858429
Отправить сообщение для LEOnidUKG с помощью ICQ

По умолчанию Re: Вычисления из формы [php]

Что за бред?! Вы же в цикле плюсуете.

Ну сделайте понятнее:

$total = $item['price']+$total;
LEOnidUKG на форуме   Ответить с цитированием
Сказали спасибо:
Старый 13.07.2018, 02:34   #3
KianoT
Аспирант
 
Аватар для KianoT
 
Регистрация: 04.04.2012
Сообщений: 221
Репутация: 3206

ТопикСтартер Re: Вычисления из формы [php]

LEOnidUKG, пошёл изучать цикл в php. Ваш ответ решил задачу. Благодарю вас!!!

Заодно спрошу...
Как можно настроить число из input, чтобы на выходе в таблице(скрин выше) были пробелы, например 312 000, вместо 312000?
KianoT вне форума   Ответить с цитированием
Старый 13.07.2018, 03:03   #4
ziliboba0213
Академик
 
Аватар для ziliboba0213
 
Регистрация: 03.09.2009
Адрес: Санкт-Петербург
Сообщений: 4,769
Репутация: 819550

По умолчанию Re: Вычисления из формы [php]

Цитата:
Сообщение от KianoT Посмотреть сообщение
LEOnidUKG, пошёл изучать цикл в php. Ваш ответ решил задачу. Благодарю вас!!!

Заодно спрошу...
Как можно настроить число из input, чтобы на выходе в таблице(скрин выше) были пробелы, например 312 000, вместо 312000?
PHP код:
echo number_format(3120000''' ' ); 
ziliboba0213 на форуме   Ответить с цитированием
Старый 13.07.2018, 11:22   #5
silicoid
Академик
 
Регистрация: 13.10.2014
Сообщений: 1,230
Репутация: 131560

По умолчанию Re: Вычисления из формы [php]

просуммировать все эл-ты массива можно при помощи функции php
number array_sum ($_POST['quant'])

чтоб вывести х числел [пример: 1000+3000+5000] можно поступить так
string implode ('+',$_POST['quant'])
silicoid вне форума   Ответить с цитированием
Старый 16.07.2018, 20:45   #6
KianoT
Аспирант
 
Аватар для KianoT
 
Регистрация: 04.04.2012
Сообщений: 221
Репутация: 3206

ТопикСтартер Re: Вычисления из формы [php]

Цитата:
Сообщение от ziliboba0213 Посмотреть сообщение
PHP код:
echo number_format(3120000''' ' ); 
А если другое число?
Можно ли формат задать для разделения разрядом чисел пробелами 1 000, 10 000, 100 000?


Цитата:
Сообщение от silicoid Посмотреть сообщение
просуммировать все эл-ты массива можно при помощи функции php
number array_sum ($_POST['quant'])

чтоб вывести х числел [пример: 1000+3000+5000] можно поступить так
string implode ('+',$_POST['quant'])
Прошу прощения, но где размещать эти функции?
KianoT вне форума   Ответить с цитированием
Старый 16.07.2018, 20:54   #7
ziliboba0213
Академик
 
Аватар для ziliboba0213
 
Регистрация: 03.09.2009
Адрес: Санкт-Петербург
Сообщений: 4,769
Репутация: 819550

По умолчанию Re: Вычисления из формы [php]

Цитата:
Сообщение от KianoT Посмотреть сообщение
А если другое число?
Можно ли формат задать для разделения разрядом чисел пробелами 1 000, 10 000, 100 000?
Да там любое, как я понял, можно вставлять
Вставьте свой $total
PHP код:
echo number_format($total0''' ' ); 
ziliboba0213 на форуме   Ответить с цитированием
Старый 16.07.2018, 21:28   #8
KianoT
Аспирант
 
Аватар для KianoT
 
Регистрация: 04.04.2012
Сообщений: 221
Репутация: 3206

ТопикСтартер Re: Вычисления из формы [php]

ziliboba0213, ошибка syntax error, unexpected T_ECHO - не туда видимо размещаю

Есть такая функция: $total = $item['price']+$total; - считает
и такая: Итого: '.$total.' - выводит

Куда именно и что заменить/удалить?
KianoT вне форума   Ответить с цитированием
Старый 16.07.2018, 21:32   #9
ziliboba0213
Академик
 
Аватар для ziliboba0213
 
Регистрация: 03.09.2009
Адрес: Санкт-Петербург
Сообщений: 4,769
Репутация: 819550

По умолчанию Re: Вычисления из формы [php]

Цитата:
Сообщение от KianoT Посмотреть сообщение
ziliboba0213, ошибка syntax error, unexpected T_ECHO - не туда видимо размещаю

Есть такая функция: $total = $item['price']+$total; - считает
и такая: Итого: '.$total.' - выводит

Куда именно и что заменить/удалить?
PHP код:
$total number_format($total0''' ' ); 
ziliboba0213 на форуме   Ответить с цитированием
Сказали спасибо:
Старый 16.07.2018, 21:34   #10
Sitealert
Слесарь-сайтосборщик
 
Регистрация: 30.09.2016
Адрес: Замкадье
Сообщений: 2,782
Репутация: 254289

По умолчанию Re: Вычисления из формы [php]

Это не вместо, а после.
__________________
Отпилю лишнее, прикручу нужное, выправлю кривое.
Вытравлю вредителей.
Sitealert вне форума   Ответить с цитированием
Сказали спасибо 2 пользователей:
Ответ




Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Текущее время: 12:45. Часовой пояс GMT +3.

Регистрация Справка Календарь Поддержка Все разделы прочитаны