Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Copia de datos de tabla a tabla

Estas en el tema de Copia de datos de tabla a tabla en el foro de PHP en Foros del Web. Hola, quisiera que con mucha paciencia por favor me expliquen como solucionar lo siguiente: Tengo esta funcion en php Código PHP: if ( $action  ==  "registrar" ...
  #1 (permalink)  
Antiguo 13/05/2015, 02:43
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 10 años, 3 meses
Puntos: 0
Copia de datos de tabla a tabla

Hola, quisiera que con mucha paciencia por favor me expliquen como solucionar lo siguiente:

Tengo esta funcion en php

Código PHP:
if ($action == "registrar"){

    
$query  "SELECT * FROM baskets WHERE basketSession = '" $sessionID "'";
    
    
$result mysql_query($query);
    
$row mysql_fetch_array$result );

    
$productPrice         $row['productPrice'];    
    
$productName        $row['productName'];    
    
$productID        $row['productID'];    

    
$query "INSERT INTO registros (productID, productPrice, basketSession) VALUES ('$productID', '$productPrice', '$sessionID')";
    
mysql_query($query) or die('Error, insert query failed');        


que hace a medias lo que necesito, si cumple la condicion de que la variable de session coincide con un campo de la base de datos, me lo guarda y lo manda a otra tabla llamada registros, pero manda unicamente el primer registro que encuentra y yo necesito que me mande todos los registros que cumplan con la condicion citada anteriormente; y a su vez necesitaria, que deje de existir ese registro en la primer tabla, que se llama baskets, ante todo me urge lo primero, luego veo de como borrar lo anterior; segun lo poco que entiendo, creo que deberia agregar un while, pero no se donde ni bajo que condicion, gracias.

Pequeño descubrimiento...

ahora mi funcion es esta:

Código PHP:
if ($action == "registrar"){

    
$query  "SELECT * FROM baskets WHERE basketSession = '" $sessionID "'";

    
$result mysql_query($query);
    
$row mysql_fetch_array$result );
        while(
$row mysql_fetch_array($resultMYSQL_ASSOC))
    {
        
    
$productPrice         $row['productPrice'];    
    
$productID        $row['productID'];    

    
$query "INSERT INTO registros (productID, productPrice, basketSession) VALUES ('$productID', '$productPrice', '$sessionID')";
    
mysql_query($query) or die('Error, insert query failed');        
    }
    
$query "DELETE FROM baskets WHERE basketSession = '" $sessionID "'";
    
mysql_query($query) or die('Error, delete query failed');

logré que me tome todos los registros, bueno, casi.... Ahora me toma todos menos el primero :(, me voy acercando pero no termino de solucionarlo, y en cuanto al borrado de la tabla primera, pude hacerlo perfectamente, ya es un avance, es casi una migración, necesito que me den una mano en eso nomas, gracias.

Última edición por MiguelNajdorf; 13/05/2015 a las 03:05
  #2 (permalink)  
Antiguo 14/05/2015, 04:27
Avatar de jpint  
Fecha de Ingreso: junio-2012
Ubicación: Ciudad Real - España
Mensajes: 97
Antigüedad: 7 años, 6 meses
Puntos: 12
Respuesta: Copia de datos de tabla a tabla

El problema lo tienes con el primer registro, que lo lees una vez antes del while, es decir te la linea comentada:


Código PHP:
$query  "SELECT * FROM baskets WHERE basketSession = '" $sessionID "'";

$result mysql_query($query);

//$row = mysql_fetch_array( $result );

while($row mysql_fetch_array($resultMYSQL_ASSOC))
{   
    
$productPrice         $row['productPrice'];    
    
$productID        $row['productID'];    

    
$query "INSERT INTO registros (productID, productPrice, basketSession) VALUES ('$productID', '$productPrice', '$sessionID')";
    
mysql_query($query) or die('Error, insert query failed');        

  #3 (permalink)  
Antiguo 14/05/2015, 16:51
 
Fecha de Ingreso: septiembre-2009
Mensajes: 39
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Copia de datos de tabla a tabla

Siiii, perfecto. Gracias

Etiquetas: copia, mysql, registro, select, tabla, variable
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 06:30.