Foros del Web » Programando para Internet » PHP »

Usuarios Por Area

Estas en el tema de Usuarios Por Area en el foro de PHP en Foros del Web. tengo dos tablas Usuarios -> idusuario, nombre, apellido, idareatematica, tipousuario areatematica ->idarea, nombrearea lo que quiero lograr es una consulta que me de el siguiente ...
  #1 (permalink)  
Antiguo 01/02/2007, 20:25
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Usuarios Por Area

tengo dos tablas
Usuarios -> idusuario, nombre, apellido, idareatematica, tipousuario
areatematica ->idarea, nombrearea

lo que quiero lograr es una consulta que me de el siguiente resultado

Historia
---Juan
---pedro

bilogia
---luis
---Juan

informatica
---carlos
---mariana

Saludos

p/d: tb postie este tema en base de datos
  #2 (permalink)  
Antiguo 01/02/2007, 23:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 257
Antigüedad: 19 años
Puntos: 1
Re: Usuarios Por Area

Hola maestro intentare ayudarte, pero mira que no soy experto, espero que me corrijan.

Mi idea es la siguiente, lo que tenes que hacer son 2 consultas la primera que busque todos los id,
ejemplo, en la segunda tabla llamada "areatematica" tenes lo siguiente

idarea nombrearea
5 biologia
10 Historia
... ...



primero busco todos los idarea que hay, para eso hago:


Código PHP:

$conexion 
mysql_connect("localhost","usuario","password") or die (mysql_error()); 
mysql_select_db("nombre_de_la_base",$conexion) or die (mysql_error()); 
 

 
$busqueda "select * from areatematica order by nombrearea DESC";  // Le digo que me ordene alfabeticamente segun nombre area
 
$resultado mysql_query($busqueda,$conexion); // Hago la consulta
 
while($row mysql_fetch_array($resultado)) // Recorro todo los datos, cada ves que pasa el while es un dato que extraes
 
{
  
$id row['idearea']; //En la primera pasada guardo el 5, que le corresponde a Biologia
  
echo  row['nombrearea']; // Muestro el nombre del area, en la primera pasada, Biologia



  //Ahora busco los alumnos
  
$busqueda2 "select * from usuarios where idareatematica = '$id' order by nombre DESC";  // Le digo que me ordene alfabeticamente segun nombre de alumno  
  
$resultado2 mysql_query($busqueda2,$conexion); // Hago la consulta
  
while($row mysql_fetch_array($resultado2)) 
  {
   echo  
row['nombre'];    
  }
  
mysql_free_result($resultado2); // Esto no se si hace falta, que me corrigan por favor, es para liberar la consulta 
  // 



 
}  

mysql_free_result($resultado); // Esto no se si hace falta, que me corrigan por favor, es para liberar la consulta
mysql_close($conexion);//Cierro la conexion 

perdon por la despolijidad escribi rapido porque tengo que ir a trabajar temprano.
abrazo cualquier cosas volve a preguntar

Última edición por gabyrsh; 01/02/2007 a las 23:58 Razón: Errores
  #3 (permalink)  
Antiguo 02/02/2007, 06:17
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Usuarios Por Area

Esa era mi idea. ES un corte de control. Pero lo que pasa es que recorro la tabla de usuarios por cada area y eso me parece que no esta bien.

No hace falta liberar la memoria.

saludos y gracias.
  #4 (permalink)  
Antiguo 02/02/2007, 08:13
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Re: Usuarios Por Area

Podria ser algo asi (no testeado):

Código:
SELECT * 
FROM areatematica a,usuarios u
WHERE u.idareatematica = a.id
GROUP BY a.nombrearea
ORDER BY u.nombre
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 12:10.