Foros del Web » Programando para Internet » PHP »

Es posible pasar un .txt a mysql?

Estas en el tema de Es posible pasar un .txt a mysql? en el foro de PHP en Foros del Web. Buenas, saludos a todos. tengo una duda. antes utilizaba una aplicacion llamada group mail para enviar un archivo determinado a todos mis contactos. las direcciones ...
  #1 (permalink)  
Antiguo 22/01/2004, 06:06
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Es posible pasar un .txt a mysql?

Buenas, saludos a todos. tengo una duda. antes utilizaba una aplicacion llamada group mail para enviar un archivo determinado a todos mis contactos. las direcciones las tengo en un archivo txt, y cada vez q trabajo con ellas, me supone un caos. hay alguna manera de pasar los datos del txt (mail,nombre) a una base de datos? es por no ir metiendolo uno por uno, ya que tengo mas de 1000

salu2
  #2 (permalink)  
Antiguo 22/01/2004, 06:27
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Si es posible. Sera mas o menos dificil dependiendo del formato del fichero. Supongo que sera un registro por linea, y los campos separados por un caracter (una coma, por ejemplo).

En este caso podrias usar file() (www.php.net/file) para leer en un array las lineas del fichero, y luego explode() (www.php.net/explode) para coger cada campo de cada registro (elemento del array). Y como esos datos vas creando los INSERT.

Si el formato del fichero es CSV (Comma Separated Values), tambien puedes usar fgetcsv() (www.php.net/fgetcsv).

O tambien puedes hacerlo diretamente desde MySQL con LOAD DATA (http://www.mysql.com/doc/en/LOAD_DATA.html).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 22/01/2004, 07:29
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias josemi, te cuento. el formato del txt es

mail, nombre
mail,nombre

... y asi sucesivamente. el programa ,me coge los dos campos. pero yo lo que quiero hacer es tener los registros en una bd para poder hacer busquedas, etc..

he mirado lo q me has dicho, pero no entiendo bien el funcionamiento. podrias ponerme un ejemplo??

salu2 y gracias
  #4 (permalink)  
Antiguo 22/01/2004, 10:59
 
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
quitate de broncas

Si lo que tienes es un txt, selecciona tu informacion y pegala en excel, acomodala por celdas y luego ya que este ordenada por filas y columnas lo guardas, abres acces y le dices en archivo, obtener datos externos, importar, te preguntara de donde o tipo y le pones de excel buscando tu archivo, una vez que ya importo tus datos y los tienes en acces en una tabla le pones a la tabla boton derecho y exportar y guardar como archivo de texo, abrira un wizard.
1.- delimitado
2.- comas
3.- finalizar
Con esto tu archivo ya tiene el formato requerido para jalardo a mysql con lo siguiente dependiendo tu estructura

LOAD DATA LOCAL INFILE '/tmp/phpkcWybj' INTO TABLE `personal` FIELDS TERMINATED BY ',' ENCLOSED BY '"'

Aclaro tienes que crear tu tabla antes y debe coincidir con los campos de tu archivo de texto

Si te ocurre que al final se desplazan los datos una columna puedes poner una coma al final de cada linea en tu archivo de texto

ojala te sirva
  #5 (permalink)  
Antiguo 22/01/2004, 13:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Más simple ..

Usa un administrador de Msyql tipo:

phpMyadmin (tiene opción para importar datos desde tu archivo con el formato que tienes . donde le indicas el separador de registros que usas ..)

Mysql Studio y/o Mysql Manager (para windows)
www.mysqlstudio.com
www.mysqlmanager.com

Ambos disponen de pontentes "importadores/exportadores" de datos en los más pintorescos formatos y repletos de asistentes.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 22/01/2004, 13:18
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
muchas gracias por responder!!! en cuanto lo pruebe os digo

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 16:56.