Normas del foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Noviembre 21, 2008, 07:11:51
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Php (Moderador: SaTeLuCo)  |  Tema: subir archivos a mysql 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: subir archivos a mysql  (Leído 249 veces)
JUCA
...::::JUCA::::....
Colaborador
*****
Desconectado Desconectado

Mensajes: 402

www.hackeruna.com

juca@xasamail.com
Ver Perfil WWW Email
« en: Mayo 05, 2008, 11:00:30 »

Bueno el problema es que no tienen un formato definido estos .txt es decir no estan separados por ; o por |

El archivo tiene el siguiente formato:
Hay que tomar en cuenta que los numeros de la izquierda que son secuenciales son los numeros de linea.
Bueno la idea es que debo eliminar todos los registros incluso las lineas en blanco y desde la linea 12 utilizar los registros y esos mismos guardarlos en una base de datos.
En un campo la hora, en otro el nombre y en otro el telefono.



1
2
3  ROBERTO HUERTA
5  ROBERTO HUERTA                               November 25 - November 30, 2007
6
7  Time   Name                  Phone        Length       Notes
8
9         Chart Number          Resource     Reason       Repeat Description
10  Monday, November 26, 2007
11
12  8:30a  GONZALO, GONZALEZ         593123456                                                         
14  9:00a  GONZALO, GONZALEZ         593123456
15  9:00a  GONZALO, GONZALEZ         593123456
16
17  9:00a  GONZALO, GONZALEZ         593123456
18  9:15a  GONZALO, GONZALEZ         593123456
19
20  9:15a  GONZALO, GONZALEZ         593123456
21
22  9:15a  GONZALO, GONZALEZ         593123456
23  9:30a  GONZALO, GONZALEZ         593123456


Alguien a podido solucionar un problema parecido alguien me puede dar una mano con esto??
Pero sui es la ayuda con codigo mejor. Con todo seguire haciendo si consigo solucionarlo lo posteo.



Saludos
JUCA
En línea

"Uno no comprende completamente algo hasta que se lo puede explicar a su abuela" Albert Einstein





Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Foko
Habitual
*****
Desconectado Desconectado

Mensajes: 247


Primero Racing, Despues Existo

fokokofo@hotmail.com
Ver Perfil WWW
« Respuesta #1 en: Mayo 05, 2008, 11:18:02 »

Nose bien que queres, pero si queres hacer una tabla con eso es facil

Código:
CREATE TABLE tabla1 (
ID INT UNSIGNED NOT NULL AUTO_INCREMENT ,
Time VARCHAR(12) NOT NULL ,
Name VARCHAR(100) NOT NULL ,
Phone VARCHAR(12) NOT NULL ,
PRIMARY KEY (ID)
)

Para colocar los datos

Código:
INSERT INTO tabla1 ( ID , Time , Name , Phone )
VALUES (
'', '8:30a', 'GONZALO, GONZALEZ', '593123456');
En línea


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion


"Mas alla de la Logica, Mas alla de la Razon,
Te entrego mi Vida y mi Corazon"  La Guardia imperial.
JUCA
...::::JUCA::::....
Colaborador
*****
Desconectado Desconectado

Mensajes: 402

www.hackeruna.com

juca@xasamail.com
Ver Perfil WWW Email
« Respuesta #2 en: Mayo 05, 2008, 11:27:21 »

Lo que acagbas de poner lo tengo claro ahora lo que yo necesito es hacer un porgrama .php que haga eso automaticamente.
Osea antes del insert debo trabajar esos datos y hacer que se inserten solo esos datos pero la tabla tiene mas campos.

Osea la idea no es insertar estos registros uno por uno de todos modos gracias.

Saludos
JUCA
En línea

"Uno no comprende completamente algo hasta que se lo puede explicar a su abuela" Albert Einstein





Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 633


Ver Perfil
« Respuesta #3 en: Mayo 05, 2008, 11:28:48 »

lo que quieres es importar ese archivo a la base de datos, extraer los registros del archivo de textos y meterlos a la base?

Si es asi, puedes usar explode(), preg_match(), divides la cadena con expresiones regulares, ejemplo para dividir lineas:

Código:
<?php
$texto 

"Una mañana
me desperte
cansado y curdo"
;
$lineas explode("\n",$texto);
print_r($lineas);
?>


Lo mismo con lo demas te recomiendo leer un poco sobre expresiones regulares son muy utiles y no solo en PHP

saludos!
En línea
[rOnNy]
[rOnNy]
Moderación
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1770



Ver Perfil
« Respuesta #4 en: Mayo 05, 2008, 11:31:24 »

Igual que el compañero Sateluco, creo que la función primordial que debes de aprender es explode();

Cuando la estudies podras comparar los patrones y las variabels independientes.

Si tienes alguna duda, puedes postear que aqui te ayudaremos!
En línea

<?="rOnNyLdInHo";?>

JUCA
...::::JUCA::::....
Colaborador
*****
Desconectado Desconectado

Mensajes: 402

www.hackeruna.com

juca@xasamail.com
Ver Perfil WWW Email
« Respuesta #5 en: Mayo 05, 2008, 11:34:44 »

Por ahi si va la cosa como dices creo que aca ya entra lo de expresiones regulares.
De ahi logicamente en el programa actual abro el archivo de texto lo recorro y todas las lineas que estan con espacio en blanco las meto en un arreglo .
Talvez lo que estoy confundido es en la logica nada mas.
Desde luego estoy utilizando un explode dentro de un while ahsta en fin de archivo.

Bueno me voy a ver expresiones regulares.

Saludos
JUCA
En línea

"Uno no comprende completamente algo hasta que se lo puede explicar a su abuela" Albert Einstein





Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
JUCA
...::::JUCA::::....
Colaborador
*****
Desconectado Desconectado

Mensajes: 402

www.hackeruna.com

juca@xasamail.com
Ver Perfil WWW Email
« Respuesta #6 en: Mayo 05, 2008, 11:58:18 »

Mira el programa esta asi :

Código:
<?php

$file 
"probando.txt";
 
$fp fopen($file,"r");
 
$line fgets($fp); // descarto la primer linea

while (!feof($fp)) {
 
$line fgets($fp);
 
$aline explode(" ",$line);
 print
"<pre>";
 
print_r ($aline);
 print
"</pre>";
}


con esto salen todos los datos del archivo y no necesito que esten en el arreglo todos solo necesito que esten los de este tipo:

8:30a  GONZALO, GONZALEZ         593123456
9:30a  GONZALO, GONZALEZ         593123456

Y pues luego de esto viene la otra parte pero en que parte es donde puedo preguntar para que solo queden estos datos??

Me explique bien ?

Bueno espero su ayuda

Saludos
JUCA

En línea

"Uno no comprende completamente algo hasta que se lo puede explicar a su abuela" Albert Einstein





Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
JUCA
...::::JUCA::::....
Colaborador
*****
Desconectado Desconectado

Mensajes: 402

www.hackeruna.com

juca@xasamail.com
Ver Perfil WWW Email
« Respuesta #7 en: Mayo 05, 2008, 01:14:57 »

Con esta linea ya tengo solo los archivos que necesito:

if (preg_match("/:/", $line)) {
}

Y dentro de esto lo que quiero mostrar ahora el codigo queda asi:

Código:
<?php

$file 
"TEST3.txt";

$contenido file $file );
 
$fp fopen($file,"r");
 
$line fgets($fp); // descarto la primer linea

while (!feof($fp)) {
  
$line fgets($fp);
  if (
preg_match("/:/"$line)) {
  print 
"<pre>";
  print 
$line;
  print 
"</pre>";
  
$aline explode(" ",$line);
  }
}
?>

Pero me doy cuenta que al final del archivo existe una linea de este tipo:

Printed  11/29/2007 9:53 am

Porque este registro tambien tiene el patron que busco.
Ahora como hago para quitar solo esa linea a alguien se le ocurre algo?

Saludos
JUCA
En línea

"Uno no comprende completamente algo hasta que se lo puede explicar a su abuela" Albert Einstein





Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 633


Ver Perfil
« Respuesta #8 en: Mayo 05, 2008, 01:19:59 »

te recomiendo que no actues dentro del bucle solo recoje los datos y despues los procesas con mas calma

Código:
<?php
while(){
$datos .= $buffer;
}
?>


Asi evitas errores
En línea
JUCA
...::::JUCA::::....
Colaborador
*****
Desconectado Desconectado

Mensajes: 402

www.hackeruna.com

juca@xasamail.com
Ver Perfil WWW Email
« Respuesta #9 en: Mayo 05, 2008, 02:14:05 »

Gracias buena sugerencia.

Saludos
JUCA
En línea

"Uno no comprende completamente algo hasta que se lo puede explicar a su abuela" Albert Einstein





Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Php (Moderador: SaTeLuCo)  |  Tema: subir archivos a mysql « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.7 | SMF © 2006-2007, Simple Machines LLC