Foros del Web » Programando para Internet » PHP »

Filtrar campos a partir de un txt

Estas en el tema de Filtrar campos a partir de un txt en el foro de PHP en Foros del Web. Hola a todos,estoy realizando un trabajo para la universidad y me gustaria filtrar unos datos para mostrarlos en mi pagina web a traves de php ...
  #1 (permalink)  
Antiguo 15/03/2015, 09:47
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Pregunta Filtrar campos a partir de un txt

Hola a todos,estoy realizando un trabajo para la universidad y me gustaria filtrar unos datos para mostrarlos en mi pagina web a traves de php pero no consigo sacar los resultados que deseo.
El documento de texto tiene la siguiente estructura:

======== Projects ========
1) -----------
name: LHC@home 1.0
master URL: http://lhcathomeclassic.cern.ch/sixtrack/
user_name: Ecoraee
team_name:
resource share: 100.000000
user_total_credit: 380.192832
2) -----------
name: ibercivis
master URL: http://registro.ibercivis.es/
user_name: ecoraee
team_name:
resource share: 100.000000
user_total_credit: 339.670245
3) -----------
name: Radioactive@Home
master URL: http://radioactiveathome.org/boinc/
user_name: ecoraee
team_name:
resource share: 100.000000
user_total_credit: 0.000000
....

Y yo lo que quiero es sacar la información por separado de cada "x)" para que esta se muestre cada una en un botón distinto.
Ojala alguien me pueda ayudar porque estoy bastante perdido.
Muchas gracias a todos y un saludo
  #2 (permalink)  
Antiguo 16/03/2015, 12:16
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Filtrar campos a partir de un txt

Alguna idea?
  #3 (permalink)  
Antiguo 16/03/2015, 12:32
Avatar de GemliosG  
Fecha de Ingreso: enero-2015
Ubicación: La Habana
Mensajes: 153
Antigüedad: 9 años, 3 meses
Puntos: 8
Respuesta: Filtrar campos a partir de un txt

No puedes usar BD?
__________________
GemliosG
  #4 (permalink)  
Antiguo 16/03/2015, 13:18
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Filtrar campos a partir de un txt

Por poder puedo usarla pero los datos a mostrar están en un fichero txt ya que es un log
  #5 (permalink)  
Antiguo 16/03/2015, 14:28
 
Fecha de Ingreso: marzo-2015
Ubicación: Peru
Mensajes: 34
Antigüedad: 9 años, 1 mes
Puntos: 6
Respuesta: Filtrar campos a partir de un txt

Por lo que veo todas tienen la misma estructura de 7 filas, entonces tienes que abrir el documento y leer, haces un contador que cuando llega a 7 se regrese a 0;

$fp = fopen($_FILES['archivo']['tmp_name'], "r");
$nro_lineas = 1;

while (!feof($fp)){ //LEE EL ARCHIVO Y LO VECTORIZA A DATA
if ($linea = fgets($fp)){

$campo= explode(":", $linea);
$valor = $campo[1];
$num_lineas++;
if($num_linea = 8) $num_linea = 1;
}
}


Ojo: no he probado el código pero hice algo parecido en otro proyecto.

tienes que decir tambien que cuando $num_linea es 1 entonces es informacion de otro registro.
  #6 (permalink)  
Antiguo 16/03/2015, 15:05
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Filtrar campos a partir de un txt

Cita:
Iniciado por jluishuaman Ver Mensaje
Por lo que veo todas tienen la misma estructura de 7 filas, entonces tienes que abrir el documento y leer, haces un contador que cuando llega a 7 se regrese a 0;

$fp = fopen($_FILES['archivo']['tmp_name'], "r");
$nro_lineas = 1;

while (!feof($fp)){ //LEE EL ARCHIVO Y LO VECTORIZA A DATA
if ($linea = fgets($fp)){

$campo= explode(":", $linea);
$valor = $campo[1];
$num_lineas++;
if($num_linea = 8) $num_linea = 1;
}
}


Ojo: no he probado el código pero hice algo parecido en otro proyecto.

tienes que decir tambien que cuando $num_linea es 1 entonces es informacion de otro registro.
Muchas gracias por tu respuesta,el problema es que es numero de filas es variable y no es siempre el mismo,lo que si se mantiene es que empieza por "3) -----------"

y no veo como podría mostrar la información, ya que yo lo que quiero mostrar en un botón es por ejemplo:

Proyecto 1

Nombre: (aquí irían los datos del nombre)
URL : (aquí iría la dirección)
....

y así en cada uno de los botones por separado (son 30 más o menos en total aunque creo que es irrelevante).

y como lo planteas tu saldría toda la información junta no? o igual me confundo yo

de todas formas muchas gracias por tu ayuda
  #7 (permalink)  
Antiguo 18/03/2015, 13:42
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Filtrar campos a partir de un txt

Alguna idea más?
  #8 (permalink)  
Antiguo 18/03/2015, 20:02
Avatar de rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años
Puntos: 468
Respuesta: Filtrar campos a partir de un txt

Ese log es siempre el mismo y únicamente uno ?? Si se tratara de un log diario, podrías importar dicho log y guardarlo en una base de datos. Cargar a diario los logs en la bd y de ahí ir filtrando mucho mejor, incluso podrás pasar de bd a logs más personalizados de lo que vayas eligiendo en un panel de administrador.
__________________
No te olvides de dar +1 a quien te echa un cable ;)
  #9 (permalink)  
Antiguo 21/03/2015, 14:19
 
Fecha de Ingreso: febrero-2015
Mensajes: 56
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Filtrar campos a partir de un txt

Cita:
Iniciado por rodrypaladin Ver Mensaje
Ese log es siempre el mismo y únicamente uno ?? Si se tratara de un log diario, podrías importar dicho log y guardarlo en una base de datos. Cargar a diario los logs en la bd y de ahí ir filtrando mucho mejor, incluso podrás pasar de bd a logs más personalizados de lo que vayas eligiendo en un panel de administrador.
Si es siempre el mismo y sólo uno.El log aun no se si es diario o se ejecuta en cualquier momento,aun no lo tengo decidido.
El problema es que no se como importarlo a la base de datos sino si podría ser una buena idea,sería un proceso sencillo?
Un saludo y muchas gracias por tu ayuda

Etiquetas: filtros, 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 15:12.