Quiero hacer una "tabla de doble entrada". Es decir, listar verticalmente algo y horizontalmente otra cosa, usando checkboxes para mostrar si hay relación entre cada item.
El caso particular en un listado de acciones y grupos, para un sistema de permisos que editará un administrador.
La pregunta es que clase de consulta tengo que hacer en mysql. Con los JOINS no estoy pudiendo resolver el problema. Alguna pista?
Ok, use esa consulta, pero le puse dos consignas order by:
$sql = "SELECT DISTINCT a. * , gp.gp_id"; $sql.= " FROM Actions a"; $sql.= " LEFT JOIN Groups_Actions ga USING ( action_id )"; $sql.= " INNER JOIN Groups gp ON gp.gp_id = ga.gp_id"; $sql.= " ORDER BY a.action_id ASC , gp.gp_id ASC ";
Luego también hago una consulta exclusiva a la tabla de grupos.
Ademas, reordeno los resultados en un nuevo array, con un indice segun el action_id, mas una clave que contiene un array con grupos (tomados de la consulta posteada)
Finalmente, recorro las acciones, y dentro hago un bucle de grupos, diciendo in_array($group_id, $actions['groups']);