@kh99 - I'll test it out and let you know. Thank you.
--------------- Added [DATE]1371565419[/DATE] at [TIME]1371565419[/TIME] ---------------
Output
Rows: 8
Group: 40
Username:
Group: 41
Group: 42
Username:
Username:
Username:
Username:
Username:
Username:
Username:
Group: 43
It is displaying the groups and the correct number of users per group, so that is good. Only problem is it is not displaying the usernames. I'm dissecting it now and will try to figure out where it is going wrong.
--------------- Added [DATE]1371569057[/DATE] at [TIME]1371569057[/TIME] ---------------
Your code:
PHP Code:
while($roster = $db->fetch_array($result)) {
$ids = explode(',',$roster['membergroupids']);
$ids[] = $roster['usergroupid'];
foreach ($ids AS $id) {
$rostergroups[$id][] = &$roster;
}
}
1) I made a quick change inside the foreach statement:
PHP Code:
if (in_array($id, $displaygroups)) {
$rostergroups[$id][] = &$roster; //storing user data
}
That change forces it to only store the important groups I want to display on the roster. Cuts down on what is stored in the array.
But, The way the data is being stored in the array seems weird to me. It goes through each group (user and member) that the user belongs to. That's good. And thanks for showing me that, I never thought to just add the usergroupid to the membergroupids array; awesome.
Anyhow, this was somehow changing all the data stored each time to be the exact same. Check this out.
Code:
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 15 [usergroupid] => 42 [membergroupids] => 37 [username] => LordMaus [field43] => Mmaus ) ) )
-----Next-----
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 75 [usergroupid] => 42 [membergroupids] => 37 [username] => Maggie [field43] => Maggie ) [1] => Array ( [userid] => 75 [usergroupid] => 42 [membergroupids] => 37 [username] => Maggie [field43] => Maggie ) ) )
-----Next-----
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 258 [usergroupid] => 42 [membergroupids] => 37 [username] => Pyway [field43] => Enno ) [1] => Array ( [userid] => 258 [usergroupid] => 42 [membergroupids] => 37 [username] => Pyway [field43] => Enno ) [2] => Array ( [userid] => 258 [usergroupid] => 42 [membergroupids] => 37 [username] => Pyway [field43] => Enno ) ) )
-----Next-----
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 537 [usergroupid] => 42 [membergroupids] => 37 [username] => Ranis [field43] => Qinshi ) [1] => Array ( [userid] => 537 [usergroupid] => 42 [membergroupids] => 37 [username] => Ranis [field43] => Qinshi ) [2] => Array ( [userid] => 537 [usergroupid] => 42 [membergroupids] => 37 [username] => Ranis [field43] => Qinshi ) [3] => Array ( [userid] => 537 [usergroupid] => 42 [membergroupids] => 37 [username] => Ranis [field43] => Qinshi ) ) )
-----Next-----
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 20 [usergroupid] => 42 [membergroupids] => 37 [username] => Rraven [field43] => Rraven ) [1] => Array ( [userid] => 20 [usergroupid] => 42 [membergroupids] => 37 [username] => Rraven [field43] => Rraven ) [2] => Array ( [userid] => 20 [usergroupid] => 42 [membergroupids] => 37 [username] => Rraven [field43] => Rraven ) [3] => Array ( [userid] => 20 [usergroupid] => 42 [membergroupids] => 37 [username] => Rraven [field43] => Rraven ) [4] => Array ( [userid] => 20 [usergroupid] => 42 [membergroupids] => 37 [username] => Rraven [field43] => Rraven ) ) )
-----Next-----
ID: 40
Array ( [42] => Array ( [0] => Array ( [userid] => 2 [usergroupid] => 6 [membergroupids] => 22,33,37,40,49 [username] => Sarcoth [field43] => Sarcoth ) [1] => Array ( [userid] => 2 [usergroupid] => 6 [membergroupids] => 22,33,37,40,49 [username] => Sarcoth [field43] => Sarcoth ) [2] => Array ( [userid] => 2 [usergroupid] => 6 [membergroupids] => 22,33,37,40,49 [username] => Sarcoth [field43] => Sarcoth ) [3] => Array ( [userid] => 2 [usergroupid] => 6 [membergroupids] => 22,33,37,40,49 [username] => Sarcoth [field43] => Sarcoth ) [4] => Array ( [userid] => 2 [usergroupid] => 6 [membergroupids] => 22,33,37,40,49 [username] => Sarcoth [field43] => Sarcoth ) ) [40] => Array ( [0] => Array ( [userid] => 2 [usergroupid] => 6 [membergroupids] => 22,33,37,40,49 [username] => Sarcoth [field43] => Sarcoth ) ) )
-----Next-----
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) [1] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) [2] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) [3] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) [4] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) [5] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) ) [40] => Array ( [0] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) ) )
-----Next-----
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) [1] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) [2] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) [3] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) [4] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) [5] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) [6] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) ) [40] => Array ( [0] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) ) )
I changed the pointer (&$roster) to just $roster and that seemed to fix that problem. Here is the last print_r of the $rostergroups array.
Code:
ID: 42
Array ( [42] => Array ( [0] => Array ( [userid] => 15 [usergroupid] => 42 [membergroupids] => 37 [username] => LordMaus [field43] => Mmaus ) [1] => Array ( [userid] => 75 [usergroupid] => 42 [membergroupids] => 37 [username] => Maggie [field43] => Maggie ) [2] => Array ( [userid] => 258 [usergroupid] => 42 [membergroupids] => 37 [username] => Pyway [field43] => Enno ) [3] => Array ( [userid] => 537 [usergroupid] => 42 [membergroupids] => 37 [username] => Ranis [field43] => Qinshi ) [4] => Array ( [userid] => 20 [usergroupid] => 42 [membergroupids] => 37 [username] => Rraven [field43] => Rraven ) [5] => Array ( [userid] => 289 [usergroupid] => 42 [membergroupids] => 37 [username] => Warconan [field43] => WARKRZY ) [6] => Array ( [userid] => 153 [usergroupid] => 42 [membergroupids] => 37 [username] => Wulvar [field43] => Wulvar ) ) [40] => Array ( [0] => Array ( [userid] => 2 [usergroupid] => 6 [membergroupids] => 22,33,37,40,49 [username] => Sarcoth [field43] => Sarcoth ) ) )
Once that was fixed, the data is printing out correctly now. Thanks kh99. Looks like the only problem was your first &$roster.