Автор Тема: Вопрос???  (Прочитано 2912 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Anubi

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос???
« : 17 Декабря 2002, 22:49:11 »
:confused:
Всем привет.
У меня вопрос. Как мне в цыкле организовать перебор всех значений формы?
С помощю PHP-скрипта выводится список например товаров из MYSQL.Напротив каждого товара
стоит checkbox. В поле value елемента checkbox присваивается , например цена.
Пользователь отмечает необходимые ему товары, и при нажатии кнопки скрипт
путем сумирования checkbox1.value+checkbox2.value ... checkbox n .value получает
сумму покупки.
Все хорошо но вот как сделать это сумирование в цыкле?

Если эта идея ошибочна, буду благодарен любым подсказкам и предложением.
Спасибо за внимание.

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Вопрос???
« Ответ #1 : 17 Декабря 2002, 23:11:42 »
Цитировать
Все хорошо но вот как сделать это сумирование в цыкле?

А если уже готово, то нафига тебе именно цикл? посмотри foreach например.
Вообще вопрос какой-то странный.
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Anubi

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос???
« Ответ #2 : 17 Декабря 2002, 23:21:49 »
Да в том то все и дело что не могу я сделать это сумирование!!!
Как мне это сделать?
Я пробовал так но не вышло.
for($i=1;$i<=$num;$i++)
      {
$checkbox=$checkbox.$i;
      }  
echo"$checkbox";

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Вопрос???
« Ответ #3 : 18 Декабря 2002, 00:48:14 »
что-то вроде этого

$sum 
0;
for(
$i=1;$i<=$num;$i++)
{
$sum +=max(0intval($_POST[\'checkbox\'.$i]));


Если используеш GET то замени POST на GET

ЗЫ
только ИМХО в checkbox надо писать id товаров а не цену
">
а в скрипте, принимать список id, которые юзер выбрал и из таблицы выбрать суммарную цену:

$pids 
= array();
$pids array_filter($_POST[\'pids\'], "intval");
if (sizeof($pids)) {
   $res = mysql_query("SELECT sum(price) FROM  table WHERE pid IN (".implode(",",$pids).")");
   $row = mysql_fetch_row($res);
   $sum_price = $row[0];
}

примерно так.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Million

  • Super hero
  • Постоялец
  • ***
  • Сообщений: 185
  • +0/-0
  • 2
    • Просмотр профиля
Вопрос???
« Ответ #4 : 18 Декабря 2002, 15:46:50 »
Можно и так:

$sum_
=_0;

for(
$i=1;$i<=$num;$i++)
{
$ch=checkbox.$i;
$sum_+=$$ch;
}

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Вопрос???
« Ответ #5 : 18 Декабря 2002, 16:32:17 »

reset 
($HTTP_POST_VARS);
while (list (
$key$val) = each ($HTTP_POST_VARS)) {
    
$sum+=$val;
}
Не все коту матрица.

 

Sitemap 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