Перейти к содержимому


какой формулой подсчитать кол-во выбранных позиций в множ.выборе


Сообщений в теме: 4

#1 tel

    Активный участник

  • Пользователи
  • PipPipPip
  • 187 сообщений

Отправлено 19 Декабрь 2010 - 19:50

у вас есть отличная возможность в списке выбирать сразу несколько позиций.

как можно в другом поле подсчитать - сколько позиций выбрал пользователь

#2 Timur

    Активный участник

  • Техподдержка ООО "КБ"
  • PipPipPip
  • 854 сообщений
  • Пол:Мужчина

Отправлено 20 Декабрь 2010 - 17:05

Вставляете аналогичный код код в ваше поле.
$data = data_table("Ваша таблица","id={ID}");
$a = explode("\r\n", $data['Ваше поле']);//создаем массив строк, каждая является подстрокой поля "Ваше поле", т.е. массив содержит значения которые выбораны в вашем поле
$result = count ($a);// считаем кол-во элементов массива
return $result;//выводим результат

#3 kok

    Активный участник

  • Пользователи
  • PipPipPip
  • 78 сообщений
  • Пол:Мужчина

Отправлено 17 Февраль 2011 - 17:39

Попытался использовать этот код в вичислении в таблице, не получилось.
Использовал такой:
$table_OtchPeriod=data_table("Отчетные периоды","id={ID} and status=0");
$sotr=$table_OtchPeriod["Подотчетные сотрудники"]; // выводит -5-3-6-
$sotr_ary=explode("-",$sotr);
print_r($sotr_ary); exit();

Вывод:
Array
(
[0] =>
[1] => 5
[2] => 3
[3] => 6
[4] =>
)

Т.е. 1 и последний элементы пустые, подскажите как правильно в вичислении в таблице получить массив множественного выбора.
*Свободный программер.

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Февраль 2011 - 09:30

Вы не убрали дефисы в начале и конце значения, разумеется в этом случае выйдут пустые элементы. Код выше предназначен для полей типа "список", у Вас же поле типа "пользователь".

$table_OtchPeriod=data_table("Отчетные периоды","id={ID} and status=0");
$sotr=substr($table_OtchPeriod["Подотчетные сотрудники"], 1, -1); // выводит 5-3-6 (без концевых дефисов)
$sotr_ary=explode("-",$sotr);
print_r($sotr_ary); exit();

Вывод:
Array
(
[0] => 5
[1] => 3
[2] => 6
)

#5 kok

    Активный участник

  • Пользователи
  • PipPipPip
  • 78 сообщений
  • Пол:Мужчина

Отправлено 18 Февраль 2011 - 13:56

Спасибо!
*Свободный программер.





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных