Foros del Web » Programando para Internet » PHP »

txt a mysql

Estas en el tema de txt a mysql en el foro de PHP en Foros del Web. hola que tal, tengo el siguiente código que inserta un txt a una base de datos: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php     ...
  #1 (permalink)  
Antiguo 31/12/2013, 03:02
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 13 años, 5 meses
Puntos: 4
Pregunta txt a mysql

hola que tal,
tengo el siguiente código que inserta un txt a una base de datos:
Código PHP:
Ver original
  1. <?php
  2.    
  3. $conexion = new mysqli("localhost", "root", "", "txt", "3306");
  4.            
  5. $lineas = file('articulos.txt');
  6.            
  7. foreach ($lineas as $linea_num => $linea)
  8. {
  9.     $datos = explode("\t",$linea);
  10.  
  11.     $clave = trim($datos[0]);
  12.     $producto = trim($datos[1]);
  13.     $precio = trim($datos[2]);
  14.  
  15.     $consulta = "INSERT INTO tblproducto(clave,producto,precio) VALUES('$clave','$producto',$precio)";
  16.     $conexion->query($consulta);
  17. }
  18.  
  19. ?>

este es el txt:
Código TXT:
Ver original
  1. A001    ADAPTADOR DE AUDIO USB  120.00
  2. A002    ADAPTADOR DE RED INALAMBRICO    149.00
  3. A003    MONITOR LED LG 18.5"    1699.00
  4. A004    SERVIDOR LINUX 5TB 30GB RAM 27000.00
  5. A005    SOFTWARE    2000.00

Pero si en el txt no tiene en alguna fila algun dato ya no lo guarda...
osea que si el txt lo tengo asi:
Código TXT:
Ver original
  1. A001    ADAPTADOR DE AUDIO USB  120.00
  2. A002    ADAPTADOR DE RED INALAMBRICO    149.00
  3. A003    MONITOR LED LG 18.5"    1699.00
  4. A004    SERVIDOR LINUX 5TB 30GB RAM 27000.00
  5. A005    SOFTWARE    2000.00
  6.     IMPRESORA   17500.00
  7.         50.00
  8. A008    LAPTOP  6400.00
  9. A009
  10. A010    TECLADO

¿como se podría hacer para que si se guardara?
(son tabulaciones las separaciones)

Saludos y gracias
  #2 (permalink)  
Antiguo 31/12/2013, 04:27
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 14 años, 2 meses
Puntos: 20
Respuesta: txt a mysql

Igual la BBDD no te deja insertar campos vacíos.

Sino comprueba si algún valor es vacío y antes de hacer el insert le asignas un valor por defecto para no insertar un valor vacío.
  #3 (permalink)  
Antiguo 31/12/2013, 05:04
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 4 meses
Puntos: 27
Respuesta: txt a mysql

En la base, el campo pk, es auto incremental o es el codigo "Axxx".
Si es "Axxx", crea un campo auto incremental como PK, porque casi seguro es por eso.
  #4 (permalink)  
Antiguo 01/01/2014, 22:34
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 13 años, 5 meses
Puntos: 4
Respuesta: txt a mysql

Genial! funcionó con el PK, pero solo esta fila no guardo... porque sera?
no gurda las que no tienen precio.
"A010 TECLADO"

Código TXT:
Ver original
  1. A001    ADAPTADOR DE AUDIO USB  120.00
  2. A002    ADAPTADOR DE RED INALAMBRICO    149.00
  3. A003    MONITOR LED LG 18.5"    1699.00
  4. A004    SERVIDOR LINUX 5TB 30GB RAM 27000.00
  5. A005    SOFTWARE    2000.00
  6.     IMPRESORA   17500.00
  7.         50.00
  8. A008    LAPTOP  6400.00
  9. A009        41.00
  10. A010    TECLADO
  11. A011    CAÑÓN   1699.00

Etiquetas: mysql, 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 22:24.