- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
$temp_leader=array();
//получаю список всех пользователей
$resUser = CUser::GetList($by = 'ID', $order = 'ASC', array("ACTIVE"=>"Y"));
while ($arUser = $resUser->Fetch())
{
//получаю для конкретного юзера элементы
$resElementUser = CIBlockElement::GetList(Array(), Array('ACTIVE'=>"Y", 'IBLOCK_ID'=>"45", 'CREATED_BY'=>$arUser['ID'], ">PROPERTY_POINT_FISH"=>"1"), false, false, Array("PROPERTY_POINT_FISH", "ID"));
$p=0;
while ($arElementUser = $resElementUser->Fetch())
{
$p++;
$arElementUser111[] = $arElementUser;
$tempElementUser[] = $arElementUser;
}
for ($i=0; $i<$p; $i++)
{
$temp_fish[$i] = $arElementUser111[$i]["PROPERTY_POINT_FISH_VALUE"];
}
//надо подсчитать количество видов у пользователя
if (count($temp_fish)>0)
{
if (count($temp_fish) == 1)
{
$count_fish = 1;
}
else
{
$res = array_count_values($temp_fish);
$count_fish = count($res);
}
//если еще меньше 6 лидеров то надо в массив писать лидера без проверок
if (count($temp_leader)<6)
{
$temp_leader[]=$count_fish;
$temp_login[]= get_user_name($arUser['ID']);
$temp_user[]=$arUser['ID'];
}
//иначе выявляю min и запоминаю позицию его и если у текущего пользователя больше min то пишем в массив
else
{
$min = $temp_leader[0];
$temp_pos = 0;
for ($i=1; $i<7; $i++)
{
if ($temp_leader[$i] < $min) {$min=$temp_leader[$i]; $temp_pos = $i;}
}
if ($count_fish > $min)
{
$temp_leader[$temp_pos] = $count_fish;
$temp_login[$temp_pos]= get_user_name($arUser['ID']);
$temp_user[$temp_pos] = $arUser['ID'];
}
}
unset($temp_fish);
unset($tempElementUser);
unset($arElementUser111);
}
}
for ($i=0;$i<count($temp_leader);$i++)
{
for ($j=count($temp_leader)-1; $j>$i; $j--)
{
if ($temp_leader[$j-1]<$temp_leader[$j])
{
$per = $temp_leader[$j-1];
$temp_leader[$j-1] = $temp_leader[$j];
$temp_leader[$j] = $per;
$per1 = $temp_login[$j-1];
$temp_login[$j-1] = $temp_login[$j];
$temp_login[$j] = $per1;
$per2 = $temp_user[$j-1];
$temp_user[$j-1] = $temp_user[$j];
$temp_user[$j] = $per2;
}
}
}
atarix12 17.09.2010 06:36 # 0
на первоисточник больно было смотреть..
rkin 17.09.2010 08:06 # 0
scalar4eblo4no 17.09.2010 10:37 # +1
Анонимус 19.09.2010 01:23 # 0
istem 20.09.2010 01:30 # −1
---
ОлОлО «1С-Битрикс»
Lure Of Chaos 18.09.2010 10:58 # 0
istem 20.09.2010 09:51 # 0
РЫБЫ СВОЙСТВА ТОЧКИ или РЫБА ПУНКТА СОБСТВЕННОСТИ
СВОЙСТВО ТОЧКИ РЫБЫ ЗНАЧЕНИЕ или ЦЕННОСТЬ РЫБЫ ПУНКТА СОБСТВЕННОСТИ
Lure Of Chaos 20.09.2010 23:26 # 0