Foros del Web » Programando para Internet » PHP »

Insertar dos entradas en dos bd distintas desde un txt

Estas en el tema de Insertar dos entradas en dos bd distintas desde un txt en el foro de PHP en Foros del Web. Me estoy volviendo loco... No sé por donde tirar... mi problema es este: Tengo que insertar desde un solo fichero txt entradas en dos bases ...
  #1 (permalink)  
Antiguo 17/09/2012, 04:09
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 11 años, 7 meses
Puntos: 1
Pregunta Insertar dos entradas en dos bd distintas desde un txt

Me estoy volviendo loco... No sé por donde tirar... mi problema es este:

Tengo que insertar desde un solo fichero txt entradas en dos bases de datos distintas, es decir, la primera linea debe insertarse en una tabla y las siguientes en otra, de momento he conseguido insertar en una sola base de datos, mi código es éste:

$conexion = mysql_connect('localhost', 'root', 'xxxx');
mysql_select_db("usuarios", $conexion);

$filas=file('files/datos.txt');
foreach($filas as $value){
list($nombre, $apellidos, $edad, $pais) = explode("/", $value);

echo ''.$nombre.' ';
echo ''.$apellidos.' ';
echo ''.$edad.' ';
echo ''.$pais.'<br/>';

$insert = "INSERT INTO test(nombre,apellidos,edad,pais) VALUES ('$nombre', '$apellidos', '$edad', '$pais')";
$inserteventos = "INSERT INTO eventos(nombre,apellidos,edad,pais) VALUES ('$nombre', '$apellidos', '$edad', '$pais')";
$resultado=mysql_query($inserteventos, $conexion);
}

Podríais ayudarme PORFAVOR!!?? (estoy desesperado..)
  #2 (permalink)  
Antiguo 17/09/2012, 05:25
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Insertar dos entradas en dos bd distintas desde un txt

Bueno ya que se trata de 2 bases de datos distintas deberás crear también otra conexión para la base de datos. Además de en ese código estás sólo ejecutando la consulta intereventos y l otra no está haciendo nada de nada.

$resultado = mysql_query($inserteventos, $conexion);

Estás ejecutando la consulta inserteventos pero la otra no. Pero ojo que no podrás ejecutar ambas con la misma conexión como ya te dije. Tendrás que crear otra con los datos correspondientes.
  #3 (permalink)  
Antiguo 17/09/2012, 06:10
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Insertar dos entradas en dos bd distintas desde un txt

Me he explicado mal, lo siento.

Me refería a hacer entradas en dos TABLAS distintas (test, eventos), ambas tablas están dentro de USUARIOS y mi txt es así.


Nombre Cargo Empresa (esta fila debe insertarse en test)

Juan moderador TJD (y estas en eventos)
Marcos seo INSA

*(estos datos son falsos)

Muchas gracias por contestar. ;)
  #4 (permalink)  
Antiguo 17/09/2012, 06:14
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Insertar dos entradas en dos bd distintas desde un txt

Claro pero tiene razon lo que dice Aly...con lo que veo a los datos los extraes bien del archivo..

Código PHP:
Ver original
  1. $insert = "INSERT INTO test(nombre,apellidos,edad,pais) VALUES ('$nombre', '$apellidos', '$edad', '$pais')";
  2.  $inserteventos = "INSERT INTO eventos(nombre,apellidos,edad,pais) VALUES ('$nombre', '$apellidos', '$edad', '$pais')";
  3.  $resultado=mysql_query($inserteventos, $conexion);

Trata de hacer 2 mysql_query una para $inserteventos y otra para $insert
  #5 (permalink)  
Antiguo 17/09/2012, 06:28
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Insertar dos entradas en dos bd distintas desde un txt

Muchas gracias a los dos, ya se me insertan los mismos datos en dos tablas, ahora mi pregunta...¿Cómo divido el archivo de tal manera que la primera linea se inserte en TEST y las siguientes en EVENTS?

Muchas gracias por la ayuda
  #6 (permalink)  
Antiguo 17/09/2012, 06:57
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Insertar dos entradas en dos bd distintas desde un txt

Lo que tenes que hacer es lo siguente...Lo que me parece a mi
Código PHP:
Ver original
  1. //primero que nada hago el insert de la tabla TEST afuera del Foreach
  2. $filas=file('files/datos.txt');
  3. list($nombre, $apellidos, $edad, $pais) = explode("/", $value);
  4.  
  5. echo ''.$nombre.' ';
  6.  echo ''.$apellidos.' ';
  7.  echo ''.$edad.' ';
  8.  echo ''.$pais.'<br/>';
  9.  
  10. $insert = "INSERT INTO test(nombre,apellidos,edad,pais) VALUES ('$nombre', '$apellidos', '$edad', '$pais')";
  11. $resultado=mysql_query($insert, $conexion);
  12.  foreach($filas as $value){
  13.  list($nombre, $apellidos, $edad, $pais) = explode("/", $value);
  14.  
  15. echo ''.$nombre.' ';
  16.  echo ''.$apellidos.' ';
  17.  echo ''.$edad.' ';
  18.  echo ''.$pais.'<br/>';
  19.  
  20. $inserteventos = "INSERT INTO eventos(nombre,apellidos,edad,pais) VALUES ('$nombre', '$apellidos', '$edad', '$pais')";
  21.  $resultado=mysql_query($inserteventos, $conexion);
  22.  }

Probalo asi a ver si es lo que buscas

Etiquetas: database, insert, sql, txt
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 23:55.