Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2006, 11:06
aruizroldan
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 21 años
Puntos: 1
Ayuda con código : explode e implode

Hola a todos.

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++;

}


?>
Los datos que irian a la nueva tabla serán, $id_usuario,$peliculas y $calificaciones.

Gracias.