En mi base de datos tengo una tabla llamada rating con 4 campos : c1,c2 y c3. c1 es el id del usuario, q vota sobre el id de pelicula c2, con una valoracion c3.
Algunos datos de la tabla son_
c1 c2 c3
-----------
1 101 4
1 900 3
1 300 2
1 55 4
...
2 11 3
2 43 5
...
etc...
Lo que quiero es meter en una nueva base de datos el id del usuario (c1) y un array (separado por comas) con las peliculas y las valoraciones de este usuario. Ejemplo, INSERT INTO tabla(id_usuario,peliculas,valoraciones) VALUES(1,"101,900,300,55","4,3,2,4").
Con el siguiente código me lo hace mal, por ejemplo, el usuario 1 vota 53 peliculas, pues crea vectores de 53 elementos separados por coma. ¿que falla? echadle un vistazo a ver si veis el problema:
Código PHP:
<?
//Conectamos a la base de datos
//OBTENEMOS TODOS LOS DATOS DE LA TABLA ratings
$consulta1 = "SELECT DISTINCT(c1) FROM ratings";
$resultado1 = mysql_query($consulta1) or die(mysql_error());
$i = 0;
while(($row1 = mysql_fetch_row($resultado1))&&($i<3)){
$id_usuario = $row1[0];
//Obtenemos los valores para cada usuario
$consulta2 = "SELECT c2,c3,c4 FROM ratings WHERE c1 = $id_usuario";
$resultado2 = mysql_query($consulta2) or die(mysql_error());
$cuantos = mysql_num_rows($resultado2);
$vector_peliculas = array($cuantos);
$vector_calificaciones = array($cuantos);
while($row2 = mysql_fetch_row($resultado2)){
$id_pelicula = $row2[0];
$calificacion = $row2[1];
$timestamp = $row2[2];
for($i=0;$i<$cuantos;$i++){
$vector_peliculas[$i] = $id_pelicula;
$vector_calificaciones[$i] = $calificacion;
}
$peliculas = implode(",",$vector_peliculas);
$calificaciones = implode(",",$vector_calificaciones);
echo "Peliculas $peliculas - $calificaciones<br>";
}
echo "<br>";
$i++;
}
?>
Gracias.