[Snippet] Consulta $smcFunc para sacar grupos adicionales de un usuario

Started by Dhayzon, September 06, 2020, 05:05:54 PM

Previous topic - Next topic

Dhayzon

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




            // 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


$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 !!


Advertisement: