Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > подсчет checboxов


Автор: malice_ 14.8.2007, 09:11
9 таблиц. 
в каждой: различное кол-во строк, столбцов.
необходимо подсчитать кол-во выбранных checkboxoв в каждой таблице. 
как оптимизировать код?


Код

$b=20;//порядковый номер последнего checboxa 1 таблицы
$kol_b=0;

$c=32;//порядковый номер последнего checboxa 2 таблицы
$kol_c=0;

for ($i=1; $i<=$b; $i++)  //таблица1
     { 
     
     if(isset($_POST[$checkbox.$i])) 

               { 
               $kol_b=$kol_b+1;
               }

    }


for ($i=21; $i<=$c; $i++) //таблица2

     { 

     if(isset($_POST[$checkbox.$i])) 

       { 
       $kol_c=$kol_c+1;
       }
 
     }

echo "$kol_b";
echo "$kol_c";




Автор: Rigel 14.8.2007, 11:43
Цитата(malice_ @ 14.8.2007,  09:11)
9 таблиц. 
в каждой: различное кол-во строк, столбцов.
необходимо подсчитать кол-во выбранных checkboxoв в каждой таблице. 
как оптимизировать код?

Присвой каждому чекбоксу value='1', и просто суммируй их в цикле.

Автор: malice_ 14.8.2007, 11:55
если у всех checkboxов выставить value=1, то получим общее кол-во нажатых без разбивки по таблицам.

Автор: Rigel 14.8.2007, 12:13
Цитата(malice_ @ 14.8.2007,  11:55)
если у всех checkboxов выставить value=1, то получим общее кол-во нажатых без разбивки по таблицам.

Можно и с разбивкой - каждой таблице присвоить свое пространство имен, допустим, у первой в имени буква a и номер, у второй буква b и номер... А потом брать подстрокой первую букву и в зависимости от нее направлять результат в тот или иной цикл.

Автор: malice_ 14.8.2007, 12:16
Цитата

направлять результат в тот или иной цикл.

и будет 9 циклов?


Автор: Glip 14.8.2007, 12:44
2 цикла вложеных. первый - по количеству таблиц, второй по максимальному количеству элементов

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)