Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/02/2012, 13:44
pablo_sgo2
 
Fecha de Ingreso: enero-2012
Mensajes: 9
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Arrays Consulta Mysql & PHP

Cita:
Iniciado por Hachikora Ver Mensaje
Tienes dos opciones:
La primera es hacer una consulta buscando todos los datos, tanto los de los usuarios como las películas y calificaciones y ordenarlo por el id del usuario.
Haces la consulta y deberías cargar los resultados de esta forma:

$idUsuarioAnterior="";
$critics=array();
$sql="Aquí debería ir la consulta";
$query=mysql_query($sql);
while($rs=mysql_fetch_array($query)){// Esta función te va devolviendo una por una las filas
if($rs['a.id_usuario']!=$idUsuarioAnterior){
$critics[$rs['a.nombre_usuario']]=array();
}
$critics[$rs['a.nombre_usuario']][$rs['b.pelicula_desc']=$rs['c.calificacion'];
}
Así se guardaría como lo deseas.

Otra opción es hacer una consulta para los usuarios, recorrer con un for todos ellos, y en cada uno hacer una consulta para capturar las peliculas y calificaciones de dicho usuario.
Un saludo
Hola que tal mira he acomodado como le he entendido a tu codigo que me proporcionaste desafortunadamente no me ha dado resultado :S
a mi no me ha quedado clara como es esta linea:
echo $critics[$rs['Nombre_Usuario']][$rs['producto_desc']]=$rs['calificacion'];

ese juego de corchetes no lo comprendo, además le he puesto un echo para ver que es lo que me imprimia y pues me da lo siguiente:
3.52.52.53.533333.53.51.5533.542.51.52.534.5422333 .54533.543144.5

y pues al parecer solo son las calificaciones pero aun asi yo esperaba que me lo mostrara como aparece arriba el array con datos precargados pero no lo forma
bueno te agradeceria me siguieras apoyando, muchas gracias.s

Código:
#Conectamos con MySQL
$conexion = mysql_connect("localhost","root","")
or die ("Fallo en el establecimiento de la conexión");
#Seleccionamos la base de datos a utilizar
mysql_select_db("carrito")
or die("Error en la selección de la base de datos");
#Efectuamos la consulta SQL
$result = mysql_query ("SELECT a.id_usuario,a.Nombre_Usuario,b.producto_desc,c.calificacion
                                FROM usuarios a,productos b,calificaciones c
                                WHERE  a.id_usuario=c.id_usuario
                                AND b.id_producto=c.id_producto
                                ORDER BY id_usuario" )
or die("Error en la consulta SQL");
$idUsuarioAnterior="";
$critics=array();
#Mostramos los resultados obtenidos
while( $rs = mysql_fetch_array ( $result )) {
   if($rs['id_usuario']!=$idUsuarioAnterior){
$critics[$rs['Nombre_Usuario']]=array();
}
echo $critics[$rs['Nombre_Usuario']][$rs['producto_desc']]=$rs['calificacion'];
}