Foros del Web » Programando para Internet » PHP »

Archivo txt- insert en tabla...

Estas en el tema de Archivo txt- insert en tabla... en el foro de PHP en Foros del Web. hola, tengo mi base de datos en mysql, deseo volcar una información que tengo en archivos txt de determinadas tablas.. como lo hago por php??? ...
  #1 (permalink)  
Antiguo 17/06/2004, 09:28
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Mensaje Archivo txt- insert en tabla...

hola, tengo mi base de datos en mysql, deseo volcar una información que tengo en archivos txt de determinadas tablas.. como lo hago por php???

es decir.. tomar el archivo txt... y guardar los campos en las tablas.. la información.. que carateristicas debe tener el archivo txt para poder hacer que sus datos sean ingresados en una tabla... tal cual el orden especificado ....
  #2 (permalink)  
Antiguo 17/06/2004, 09:49
Avatar de TheRock  
Fecha de Ingreso: mayo-2002
Ubicación: Sucre - Bolivia
Mensajes: 189
Antigüedad: 15 años, 6 meses
Puntos: 0
Hola... que tal esta solución:

Tu archivo txt, podría tener el siguiente formato:

- Registros separados por lineas nuevas
- Campos separados por tabulaciones

teniendo el txt listo en php puedes aplicar esto:

Código PHP:
$datos=file("tuarchivo.txt");
foreach(
$datos as $registro) {
  
$campo=explode("\t",$registro);
  
mysql_db_query("Tudb","insert into tutabla values($capo[0],$campo[1],....$campo[n])"); 
espero te pueda servir.

Saludos a la distancia.
  #3 (permalink)  
Antiguo 17/06/2004, 09:55
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
Pues en el txt tengo la informació de la siguiente manera...

'CDCATEGORIA','CDCONSECUTIVO','DSNOMBRE_CATEGORIA' ,'CDIDENTIFICADOR_CATEGORIA'
'1','1','Queja','Q'
'2','0','Reclamo','R'

donde los campos en mayúscula son los de la tabla y lo demás que esta en comilla simple es la información.. como seria entonces...
  #4 (permalink)  
Antiguo 17/06/2004, 13:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Según tu estructura si uas file() verás que te devuelve un array de N elementos ..

El primero contiene tus nombres de tus campos y el resto son los datos que debes que están separados por comas ..

Código PHP:
<?
//conecta a tu BD ...

// abrir el archivo ..
$datos=file("tuarchivo.txt"); 
// tomar la primera fila del archivo ..
$campos_nombres=$datos[0];
//quitar las comillas de los campos .. no corresponde para la sentencia SQL:
$campos_nombres=str_replace("'",$campos_nombres);
// avanzar el puntero del array una posición hacia adelante (para saltar la priméria línea)
next($datos);
//recorrer el resto del array.
foreach($datos as $valores) {   
  
$sql="INSERT INTO tutabla ($campos_nombres) VALUES ($valores)";
  
// muestro la sentencia SQL que se genera por si hay problemas ... Revisa que sea lo esperado en tus pruebas ...
  
echo $sql.'<br>';
  
mysql_query($sql) or die (mysql_error()); 
}
?>
Nó sé si me dejo algo más .. pero más o menos sería así. La idea como siempre es "componer" tu sentencia SQL observando los datos que tienes y sobre todo conociendo la sintax SQL que vas a usar.

Un saludo,
  #5 (permalink)  
Antiguo 17/06/2004, 14:44
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 15 años, 1 mes
Puntos: 1
GRACIAS!!!!!
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 14:43.