Foros del Web » Programando para Internet » PHP »

Consulta Group By

Estas en el tema de Consulta Group By en el foro de PHP en Foros del Web. Holas comunidad, tengo un problema que intento resolver y no me va, se trata de lo siguiente: Confeccionar un programa que muestre el nombre del ...
  #1 (permalink)  
Antiguo 28/05/2012, 22:17
Avatar de SnakeCode  
Fecha de Ingreso: mayo-2012
Ubicación: Lima - Perú
Mensajes: 23
Antigüedad: 11 años, 10 meses
Puntos: 1
Consulta Group By

Holas comunidad, tengo un problema que intento resolver y no me va, se trata de lo siguiente:

Confeccionar un programa que muestre el nombre del curso, la cantidad de inscriptos y todos los inscriptos a dicho curso. Repetir esto con todos los cursos.
Es decir, en la página debe aparecer algo parecido a:

Nombre del curso:PHP
Cantidad de inscriptos:3
Nombres: Martinez Luis - Rodriguez Pablo - Gonzalez Ana

Nombre del curso:JSP
Cantidad de inscriptos:2
Nombres: Hernandez Hector - Roca Marta

Y este es mi código:

Código PHP:
<?php
    
include('../conexion.php');
    
$codigo $_POST['codigo'];
    
$query1 "SELECT count(alu.codigo) as cantidad, nombrecur FROM alumnos as alu INNER JOIN cursos as cur ON cur.codigo = alu.codigocurso GROUP BY alu.codigocurso";
    
    
$registros1 mysql_query($query1$conexion);
    
    while(
$reg1 mysql_fetch_array($registros1)){
        echo 
'<p>Nombre del curso: '$reg1['nombrecur'] .'</p>';
        echo 
'<p>Cantidad de inscritos: '$reg1['cantidad'] .'</p>';
    }
    
    
$query2 "SELECT nombre FROM alumnos WHERE codigocurso = $codigo ";
    
$registros2 mysql_query($query2$conexion);
    
    while(
$reg2 mysql_fetch_array($registros2)){
        echo 
$reg2['nombre']. ' - ';
    }
    
    
mysql_close($conexion);
?>
Disculpen pero soy novato en este mundo de la programación que me fascina. Saludos y gracias de antemano!! :)
  #2 (permalink)  
Antiguo 29/05/2012, 02:49
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Consulta Group By

Fíjate que quité $codigo = $_POST['codigo']; ya que si te entendí bien y quieres seguir todos los cursos, este dato no sirve para nada.


Código PHP:
<?php 
    
include('../conexion.php'); 
    
$query1 "SELECT count(alu.codigo) as cantidad, cur.nombrecur,cur.codigo as cur_codigo FROM alumnos as alu INNER JOIN cursos as cur ON cur.codigo = alu.codigocurso GROUP BY cur.nombrecur,cur.codigo"
     
    
$registros1 mysql_query($query1$conexion); 
     
    while(
$reg1 mysql_fetch_array($registros1)){ 
        echo 
'<p>Nombre del curso: '$reg1['nombrecur'] .'</p>'
        echo 
'<p>Cantidad de inscritos: '$reg1['cantidad'] .'</p>';
        
$query2 "SELECT nombre FROM alumnos WHERE codigocurso = ".$reg1["cur_codigo"]; 
        
$registros2 mysql_query($query2$conexion); 
        while(
$reg2 mysql_fetch_array($registros2)){ 
            echo 
$reg2['nombre']. ' - '
        } 
    }
    
mysql_close($conexion); 
?>
Saludos.
  #3 (permalink)  
Antiguo 29/05/2012, 08:18
Avatar de SnakeCode  
Fecha de Ingreso: mayo-2012
Ubicación: Lima - Perú
Mensajes: 23
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Consulta Group By

Cita:
Iniciado por oscartt67 Ver Mensaje
Fíjate que quité $codigo = $_POST['codigo']; ya que si te entendí bien y quieres seguir todos los cursos, este dato no sirve para nada.


Código PHP:
<?php 
    
include('../conexion.php'); 
    
$query1 "SELECT count(alu.codigo) as cantidad, cur.nombrecur,cur.codigo as cur_codigo FROM alumnos as alu INNER JOIN cursos as cur ON cur.codigo = alu.codigocurso GROUP BY cur.nombrecur,cur.codigo"
     
    
$registros1 mysql_query($query1$conexion); 
     
    while(
$reg1 mysql_fetch_array($registros1)){ 
        echo 
'<p>Nombre del curso: '$reg1['nombrecur'] .'</p>'
        echo 
'<p>Cantidad de inscritos: '$reg1['cantidad'] .'</p>';
        
$query2 "SELECT nombre FROM alumnos WHERE codigocurso = ".$reg1["cur_codigo"]; 
        
$registros2 mysql_query($query2$conexion); 
        while(
$reg2 mysql_fetch_array($registros2)){ 
            echo 
$reg2['nombre']. ' - '
        } 
    }
    
mysql_close($conexion); 
?>
Saludos.
Gracias. Llegando a casa probaré tu solución, espero sea esa. Nuevamente gracias.

Saludos!

Etiquetas: group, mysql, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:58.