Comunidad de diseño web y desarrollo en internet online

Tabla de doble entrada con PHP y MySQL

Citar            
MensajeEscrito el 11 Ago 2011 03:35 pm
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?

Por mayid

17 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ago 2011 04:39 pm
Por ahora estoy jugando con esto, viendo de contruir la tabla con PHP y HTML:

SELECT DISTINCT a. * , gp.gp_id
FROM Actions a
LEFT JOIN Groups_Actions ga
USING ( action_id )
RIGHT JOIN Groups gp ON gp.gp_id = ga.gp_id

Por mayid

17 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Ago 2011 06:28 pm
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']);

Por mayid

17 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.