SimplePortal

Customization => Custom Coding => Topic started by: Smasher on July 11, 2014, 05:24:50 PM

Title: Memberlist Box
Post by: Smasher on July 11, 2014, 05:24:50 PM
I am trying to pull the memberlist into a left side Custom PHP box. Once I do this I am going to modify it and display certain users from membergroups. Can someone give me a clue as to how to pull this information in?

I can see what I need when I am on the memberlist page but not when I am on others such as Whos online or Profile.
Title: Re: Memberlist Box
Post by: oNLy1 on July 26, 2014, 04:19:32 AM
sounds like it would be a lot easier to do it in a HTML or BBC block as I am not sure if your asking for the code for custom 'certain users from membergroups' block - or that you have such code, and just not enabling it to show on Whois or Profile pages, which would be editing the block Advanced Options and checking off some Actions.
Title: Re: Memberlist Box
Post by: Smasher on July 26, 2014, 09:01:11 PM
I believe what I want to do is something like the code below... however with my very limited knowledge of databases and php, I have no clue as to what I am doing wrong... or what I am missing here...

[Note: Using ElkArte and not SMF]

Code: [Select]
global $db_prefix, $scripturl, $memberContext, $modSettings;

$request = $db->query('', '
SELECT id_member, member_name
FROM {db_prefix}members
        WHERE id_member IN ({array_int:users})
LIMIT 50'
);

$members = array();
while ($row = $db->fetch_assoc($request))
$members[] = $row;
$db->free_result($request);

foreach ($members as $m)
{
         echo ' '. $m[id_member] .' '. $m[member_name] .' <br><br>';
}
Title: Re: Memberlist Box
Post by: [SiNaN] on July 27, 2014, 07:36:10 AM
I think this is what you need to make the code above work:

Code: [Select]
$db = database();

$request = $db->query('', '
SELECT id_member, member_name
FROM {db_prefix}members
LIMIT 50'
);
$members = array();
while ($row = $db->fetch_assoc($request))
$members[] = $row;
$db->free_result($request);

foreach ($members as $member)
echo $member['id_member'], ': ', $member['member_name'], '<br />';

It's a matter of modifying the query to filter the results. For example, in order to fetch the members of the group with the id of 5, you would need to change the query as the following:

Code: [Select]
$request = $db->query('', '
SELECT id_member, member_name
FROM {db_prefix}members
WHERE id_group = {int:group}',
array(
'id_group' => 5,
)
);
Title: Re: Memberlist Box
Post by: Smasher on July 27, 2014, 03:21:10 PM
[SiNaN] -- Thank you so much, that is exactly what I needed... I will definitely be able to accomplish what I need now...
Title: Re: Memberlist Box
Post by: [SiNaN] on July 27, 2014, 03:21:44 PM
Glad to hear that that helped. You're welcome. ;)
Title: Re: Memberlist Box
Post by: Smasher on July 28, 2014, 06:27:42 PM
How do I pull something into the query that is a little deeper than one level?
 
for example $context['members']['options']['cust_qwert']
SimplePortal 2.3.8 © 2008-2024, SimplePortal