Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2012, 09:43
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 18 años, 6 meses
Puntos: 326
Respuesta: Problemas al pasar registros de una tabla a otra

Cita:
Iniciado por frmfernando Ver Mensaje
Hola Eleazan muchas gracias por responder.

Al final como dice un conocido mio "menos es más"

La solución es mucho más sencilla que todo lo que estaba haciendo

Código PHP:
$sql="INSERT INTO ingrediente_final (id_codigo, id_ingrediente, cantidad) SELECT id_codigo, id_ingrediente, cantidad FROM temp_ingrediente";
                    
$r=mysql_query($sql, $link); 
Muchas gracias.
Sí, es una solución esa q te proporciona MySQL, pero, quiero hacerte constar el fallo que tenías, por si alguna vez estás en una situación parecida, que puedas resolverla.

Observa tu código:
Código PHP:
$sql="SELECT id, id_codigo, id_ingrediente, cantidad FROM temp_ingrediente ORDER BY id ASC"; // recoger los datos de la tabla temp_ingrediente 
        
$r=mysql_query($sql, $link); 
        while (
$fila=mysql_fetch_assoc($r)){ 
            
$id_codigo=$fila["id_codigo"]; 
            
$id_ingrediente=$fila["id_ingrediente"]; 
            
$cantidad=$fila["cantidad"]; 

            
$sql="INSERT INTO ingrediente_final (id_codigo, id_ingrediente, cantidad) VALUES ('$id_codigo', '$id_ingrediente', '$cantidad')"; // grabar datos de ingredientes en la tabla definitiva 
            
$r=mysql_query($sql, $link); 
        } 
    } 
Si te fijas, es la típica extructura de bucle en plan

Código PHP:
while( $fila = mysql_fetch_array($r) ) {
    
//Blablabla, trabajo con la consulta
} 
Es un bucle sencillo, en el que en cada vuelta obtiene un "registro" de $r (OJO!). ¿Qué pasa en tu código? Tienes algo así

Código PHP:
while ( $fila = mysql_fetch_array($r) ) {
    
//blablabla
    
$r = mysql_query("SELECT 1", $link);
    
//Blabla
} 
Si te fijas, en la primera vuelta, ya sobreescribes $r con el resultado de otra consulta, por eso sólo te hace el primer registro, y los demás falla / da errores / resultados inesperados

Si otra vez estás más atento, no debería pasarte!

Un saludo! Y ánimo! :)
__________________
>> Eleazan's Source
>> @Eleazan