Advertisement:

Author Topic: [Snippet] Consulta $smcFunc para sacar grupos adicionales de un usuario  (Read 461 times)

Offline Dhayzon

  • Sophist Member
  • *****
  • Posts: 1,350
  • Gender: Male
  • DhayZone RevolutioN
    • Dhayzon on GitHub
    • @dhayzon on Twitter
    • http://dhayzon.com/
queria mostrar los grupos adicionales a los que pertenece un usuario y pues a qui esta el código que escribí para que lo usen de guia o no se para que aprendan espero que les sirva


 primero consultamos la tabla members para sacar los valores de additional_groups



Code: [Select]
            // Find all the posts. Newer ones will have higher IDs.
        $request = $smcFunc['db_query']('substring', '
            SELECT mem.additional_groups
            FROM {db_prefix}members AS mem
            WHERE  mem.id_member = {int:user}',
            array(
                'user' => (int)self::$memID,
            )
        );
       
        list($additional_groups) = $smcFunc['db_fetch_row']($request);
       
        $smcFunc['db_free_result']($request);

        if(empty($additional_groups))
        return false;

luego consultamos la tabla de grupos para sacar la info de esos grupos adiconales

Code: [Select]
$groups = $smcFunc['db_query']('substring', '
            SELECT group_name,id_group,online_color,description
            FROM {db_prefix}membergroups
            WHERE  id_group IN  ({array_int:groups})',
            array(
                'groups' =>array_map('intval',explode(',',$additional_groups)),
            )
        );
        while ($row = $smcFunc['db_fetch_assoc']($groups)) {
            self::$additional_groups[$row['id_group']] = array(
                'id'=> $row['id_group'],
                'name'=> $row['group_name'],
                'descripion'=> $row['description'],
                'color'=> $row['online_color'],

            );
        }
       
        $smcFunc['db_free_result']($groups);




consideraciones


(int)self::$memID  es el id de cualquier usuario ....   

array_map('intval',explode(',',$additional_groups))

$additional_groups es una cadena tenemos que convertirlo en un array de valores enteros

 self::$additional_groups[$row['id_group']]  en un array donde  estará la información final


yo trabajo con valores class y valores estáticos  es por eso que hay self::
listo eso es todo !!