Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 01.07.2019 01:55
Если говорить про конкретный код, то можно воспользоваться методом inc и избавиться от копирования кода, выделив метод. Например так:@update[value] ^if(def $value){ ^caller.summark.inc($value) ^caller.colmark.inc[] } @main[] $summark(0) $colmark(0) ^update[$usrslist.in_p1] ^update[$usrslist.in_p2] ^update[$usrslist.in_p3] ^update[$usrslist.in_p4] ^if($colmark==0){H/Д}{$mark($summark/($colmark*2)*100) $mark %}Если говорить о задаче в целом, то посчитать сумму и число не null параметров можно и средствами sql, если mysql, то например так:
SELECT IFNULL(p1,0)+IFNULL(p2,0)+IFNULL(p3,0) as mark, 3-(ISNULL(p1)+ISNULL(p2)+ISNULL(p3)) as cntЕсли планируется, что число параметров будет меняться, возможно стоит перейти на другую структуру таблицы: