Foros del Web » Programando para Internet » PHP »

Cambiar los datos de una tabla a otra

Estas en el tema de Cambiar los datos de una tabla a otra en el foro de PHP en Foros del Web. Hoy vengo con la duda de que quiero cambiar los datos que estan en una tabla hacia otra este es el código que tengo: @import ...
  #1 (permalink)  
Antiguo 03/07/2012, 23:08
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años
Puntos: 2
Pregunta Cambiar los datos de una tabla a otra

Hoy vengo con la duda de que quiero cambiar los datos que estan en una tabla hacia otra este es el código que tengo:

Código PHP:
Ver original
  1. //Incluyo la conexion
  2.     include("conexion.php");
  3.     //Guardo en una variable el dato que recibí
  4.     $activacion = $_GET['activacion'];
  5.     /*Hago una consulta para seleccionar la fila de mi tabla que sea igual
  6.     al dato que recibí por la url*/
  7.     $consulta = mysql_query("SELECT txt_activ FROM usuarios_temp WHERE txt_activ = '$activacion'",$conexion);
  8.     //compruebo si hay un valor igual me dara como resultado 1
  9.     if(mysql_num_rows($consulta) == 1){
  10.         /*Si el resultado es 1 selecciono la fila de mi tabla que
  11.         contenga el dato recibido por la url*/
  12.         $datos = mysql_query("SELECT * FROM usuarios_temp WHERE txt_activ = '$activacion'",$conexion);
  13.         //en un ciclo hago un array con los datos de mi consulta
  14.         while($fila = mysql_fetch_array($datos)){
  15.             $nombres = $fila['Nombres'];
  16.             $apellidos = $fila['Apellidos'];
  17.             $correo = $fila['Correo'];
  18.             $usuario = $fila['Usuario'];
  19.             $pass = $fila['Contrasena'];
  20.             $nacimiento = $fila['FechaNaci'];
  21.             $registro = $fila['FechaRegis'];
  22.         }
  23.         /************Todo Bien hasta Aquí***************/
  24.         /************Todo mal de Aquí en adelante************/
  25.         //Inserto los datos en la otra tabla
  26.         mysql_query("INSERT INTO users(nombres, apellidos, correo, usuario, contrasena, FechaNaci, FechaRegis) VALUES('$nombres','$apellidos','$correo','$usuario','$pass','$nacimiento','$registro')");
  27.         //borro los datos de la tabla que tenía los datos originalmente
  28.         mysql_query("DELETE * FROM usuarios_temp WHERE txt_activ = '$activacion'");
  29.     }
Este código en teoría me serviria para que cuando reciba el valor de una variable que pasa su valor por la url me verifique en mi primera tabla si los datos están si es así que los copie en la otra tabla y además que borre esos datos de la tabla original después de que los guardo en la otra.

Con el código que tengo la única parte que no funciona es la de guardar los datos y la de eliminar, ya que si les pongo un echo a las variables del while si puedo ver los valores que tiene cada según la consulta.
Muchas gracias.
  #2 (permalink)  
Antiguo 04/07/2012, 01:12
Avatar de cesarin3134  
Fecha de Ingreso: enero-2012
Ubicación: Milan
Mensajes: 97
Antigüedad: 12 años, 2 meses
Puntos: 20
Respuesta: Cambiar los datos de una tabla a otra

prueba a visualizar el error y veamos que nos dice );

Código PHP:
Ver original
  1. mysql_query("INSERT INTO users(nombres, apellidos, correo, usuario, contrasena, FechaNaci, FechaRegis)
  2.  
  3. VALUES('$nombres','$apellidos','$correo','$usuario','$pass','$nacimiento','$registro')") or die(mysql_error());
  4.  
  5.         //borro los datos de la tabla que tenía los datos originalmente
  6.         mysql_query("DELETE * FROM usuarios_temp WHERE txt_activ = '$activacion'") or die(mysql_error());
  #3 (permalink)  
Antiguo 04/07/2012, 08:16
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años
Puntos: 2
Pregunta Respuesta: Cambiar los datos de una tabla a otra

Hola amigo muchas gracias por tu ayuda ya le agregué el die a las consultas y el mensaje de error es el siguiente:

Column count doesn't match value count at row 1

No entiendo bien lo que dice pero creo que no me está devolviendo un valor de uno pero no lo se la verdad.
  #4 (permalink)  
Antiguo 04/07/2012, 08:26
Avatar de cesarin3134  
Fecha de Ingreso: enero-2012
Ubicación: Milan
Mensajes: 97
Antigüedad: 12 años, 2 meses
Puntos: 20
Respuesta: Cambiar los datos de una tabla a otra

prueba asi :
cambia la variable $bd por la de tu conexion .
Código PHP:
Ver original
  1. $sql = "INSERT INTO users (nombres, apellidos, correo, usuario, contrasena, FechaNaci, FechaRegis) VALUES ($nombres,$apellidos,$correo,$usuario,$pass,$nacimiento,$registro)";
  2.  
  3.  mysql_query($sql, $bd) or die(mysql_error());

controla bien los nombres de los campos. tienen k ser iguales a los de tu db
  #5 (permalink)  
Antiguo 04/07/2012, 08:31
Avatar de cesarin3134  
Fecha de Ingreso: enero-2012
Ubicación: Milan
Mensajes: 97
Antigüedad: 12 años, 2 meses
Puntos: 20
Respuesta: Cambiar los datos de una tabla a otra

estas llenando mas campos de los k tienes. prueba a controlarlos .
  #6 (permalink)  
Antiguo 04/07/2012, 09:22
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años
Puntos: 2
Pregunta Respuesta: Cambiar los datos de una tabla a otra

Cambie la consulta como me haz dicho pero sigue igual así es como me quedo:
Código PHP:
Ver original
  1. include("conexion.php");
  2.     $activacion = $_GET['activacion'];
  3.    
  4.     $consulta = mysql_query("SELECT txt_activ FROM usuarios_temp WHERE txt_activ = '$activacion'",$conexion);
  5.     if(mysql_num_rows($consulta) == 1){
  6.         $datos = mysql_query("SELECT * FROM usuarios_temp WHERE txt_activ = '$activacion'",$conexion);
  7.         while($fila = mysql_fetch_array($datos)){
  8.             $nombres = $fila['Nombres'];
  9.             $apellidos = $fila['Apellidos'];
  10.             $correo = $fila['Correo'];
  11.             $usuario = $fila['Usuario'];
  12.             $pass = $fila['Contrasena'];
  13.             $nacimiento = $fila['FechaNaci'];
  14.             $registro = $fila['FechaRegis'];
  15.         }
  16.         $sql1 = "INSERT INTO users(nombres, apellidos, correo, usuario, contrasena, FechaNaci, FechaRegis, txt_activ) VALUES('$nombres','$apellidos','$correo','$usuario','$pass','$nacimiento','$registro')";
  17.         mysql_query($sql1,$conexion)or die(mysql_error());
  18.         $sql2 ="DELETE * FROM usuarios_temp WHERE txt_activ = '$activacion'";
  19.         mysql_query($sql2, $conexion)or die(mysql_error());
  20.     }
No te entiendo cuando dices
Cita:
estas llenando mas campos de los k tienes. prueba a controlarlos .
Los datos que estoy introduciendo vienen de la consulta que luego paso a un array y los guardo en variables diferentes.

Muchas gracias.
  #7 (permalink)  
Antiguo 04/07/2012, 09:25
Avatar de cesarin3134  
Fecha de Ingreso: enero-2012
Ubicación: Milan
Mensajes: 97
Antigüedad: 12 años, 2 meses
Puntos: 20
Respuesta: Cambiar los datos de una tabla a otra

quita las comillas simples como te lo escribi, cuando te digo k controles es pork el error k te da es pork hay un k estas enviando k no coincide con los de tu tabla.
  #8 (permalink)  
Antiguo 04/07/2012, 09:28
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 2 meses
Puntos: 27
Respuesta: Cambiar los datos de una tabla a otra

txt_activ

esta demas en el insert o le falta asignarle el valor en el values..

y en el delete hay un * que no debe estar ahi

"DELETE * FROM "

debe ser

"DELETE FROM"
  #9 (permalink)  
Antiguo 04/07/2012, 09:34
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años
Puntos: 2
Respuesta: Cambiar los datos de una tabla a otra

Muchas Gracias ya encontre el problema era:
Cita:
txt_activ

esta demas en el insert o le falta asignarle el valor en el values..

y en el delete hay un * que no debe estar ahi

"DELETE * FROM "

debe ser

"DELETE FROM"
Les doy las gracias a los dos. ya funciona.
  #10 (permalink)  
Antiguo 04/07/2012, 09:35
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 2 meses
Puntos: 27
Respuesta: Cambiar los datos de una tabla a otra

de nada para eso estamos no?.. ;)
  #11 (permalink)  
Antiguo 04/07/2012, 09:36
Avatar de cesarin3134  
Fecha de Ingreso: enero-2012
Ubicación: Milan
Mensajes: 97
Antigüedad: 12 años, 2 meses
Puntos: 20
Respuesta: Cambiar los datos de una tabla a otra

que bueno que funcione...y como dice vicram 10 para eso estamos!! ;)

Etiquetas: datos-db, html, mysql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:01.