|
|
|
Вывод данных подчиненных пользователей
|
|||
|---|---|---|---|
|
#18+
Есть такая функция. она берет данные из двух таблиц. и формирует таблицу с данными главного юзера и подчиненных ему. а мне нужно чтобы выводились еще и данные пользователей подчиненных, т.е. как бы пирамиду сделать нужно. помогите пожалуйста function getUsersRequestData($currentUserId) { if (!$currentUserId) { $currentUserId = $_COOKIE['user']; } $sql = "SELECT u.id, u.login,u.fio,u.price_A,u.price_B,u.price_C,u.price_D,u.price_trailer,u.paid,r.ts_category, COUNT(r.ts_category) AS `request_count` FROM `". USERS_TABLE. "` AS `u` LEFT JOIN `". REQUEST_TABLE. "` AS `r` ON u.id = r.user WHERE (r.card_number IS NULL OR r.card_number != '') AND (u.created_by = $currentUserId OR u.id = $currentUserId) GROUP BY u.id, r.ts_category"; $res = mysql_query($sql) or die(mysql_error()); $usersData = array(); while ($row = mysql_fetch_assoc($res)) { $usersData[$row['id']][] = $row; } $k=0; foreach ($usersData as $userId => $userRow) { $id = isset($userRow[0]['id'])?$userRow[0]['id']:false; $login = isset($userRow[0]['login'])?$userRow[0]['login']:false; $fio = isset($userRow[0]['fio'])?$userRow[0]['fio']:false; $paid = isset($userRow[0]['paid'])?$userRow[0]['paid']:false; $countA = 0; $countB = 0; $countC = 0; $countD = 0; $countE = 0; $countTrailer = 0; $totalSum = 0; if ($k==0) $userRowGeneral[]=$userRow[0]; $k=1; foreach ($userRow as $row) { switch ($row['ts_category']) { case 'A': { $countA = $row['request_count']; $totalSum += $countA * $row['price_A']; $totalSumGeneral +=$countA*$userRowGeneral[0]['price_A']; break; } case 'B': { $countB = $row['request_count']; $totalSum += $countB * $row['price_B']; $totalSumGeneral +=$countB*$userRowGeneral[0]['price_B']; break; } case 'C': { $countC = $row['request_count']; $totalSum += $countC * $row['price_C']; $totalSumGeneral +=$countC*$userRowGeneral[0]['price_C']; break; } case 'D': { $countD = $row['request_count']; $totalSum += $countD * $row['price_D']; $totalSumGeneral +=$countD*$userRowGeneral[0]['price_D']; break; } case 'E': { $countE = $row['request_count']; $totalSum += $countE * $row['price_trailer']; $totalSumGeneral +=$countE*$userRowGeneral[0]['price_trailer']; break; } } } unset($usersData[$userId]); $usersData[$userId]['id'] = $id; $usersData[$userId]['login'] = $login; $usersData[$userId]['fio'] = $fio; $usersData[$userId]['A'] = $countA; $usersData[$userId]['B'] = $countB; $usersData[$userId]['C'] = $countC; $usersData[$userId]['D'] = $countD; $usersData[$userId]['E'] = $countE; $usersData[$userId]['total'] = $totalSum; $usersData[$userId]['totalGeneral']=$totalSumGeneral; $usersData[$userId]['paid'] = $paid; } return $usersData; } на сканах зеленым я обвел подчиненных пользователей. также приложил таблицу mysql пользователей и список их заявок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 12:27:45 |
|
||
|
Вывод данных подчиненных пользователей
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2014, 12:28:56 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1834858]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 343ms |

| 0 / 0 |
