• Viernes 3 de Mayo de 2024, 11:00

Autor Tema:  levantar datos de un .txt y mostrarlo en tablas  (Leído 1931 veces)

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
levantar datos de un .txt y mostrarlo en tablas
« en: Domingo 22 de Noviembre de 2009, 06:21 »
0
Hola gente buenas...
traigo una consulta a ver si me orientan un poco tengo un ejercicio para hacer y nose como comenzar.. el tema es que hice un pequeño form en el que se cargan algunos datos los cuales son procesados y almacenados en un archivo txt plano simple no mas.. el ejercicio ahora tengo que levantar,tomar esos datos que va almacenando el .txt y que me los muestre ordenados en una tablita...

se entiende?

esto lo tendria que hacer con las funciones explode(), implode(), join() pero no se como encararlo ni siquier como comenzar me dan una ayuda con esto?

gracias.

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: levantar datos de un .txt y mostrarlo en tablas
« Respuesta #1 en: Lunes 23 de Noviembre de 2009, 01:31 »
0
Para poner usar explode() como quieres el .txt debe tener algún tipo de separador de campos y registros. ¿Lo tienes?.

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: levantar datos de un .txt y mostrarlo en tablas
« Respuesta #2 en: Lunes 23 de Noviembre de 2009, 01:42 »
0
Hola compañero.. como estas?

si claro que tiene separador son espacios (." ".) esta bien? mira igualmente te muestro la parte del codigo que crea el .txt asi ves como esta separado

Código: PHP
  1. <?php
  2. @$formcorto=fopen($_SERVER['DOCUMENT_ROOT']."/curso/form/formcorto.txt","a");
  3. if (!$formcorto)
  4. {
  5. echo "no se puede realizar la orden";
  6. } else {
  7. $nom=$_POST['nombre'];
  8. $apelli=$_POST['apellido'];
  9.  
  10. if (isset($_POST['sexo']))
  11. {
  12.     if ($_POST['sexo'] == '1') {  
  13.     $sexo="hombre";
  14.     } else {
  15.     if ($_POST['sexo'] == '2') {
  16.     $sexo="mujer"; }
  17. }
  18.  
  19. if (isset($_POST['estado']))
  20. {
  21.  if ($_POST['estado'] == "a"){
  22.  $est_civil="casado";
  23.  }
  24.  else
  25.  {
  26.  $est_civil="soltero";
  27.  }
  28.  //fin combo
  29.  
  30. }
  31. $datos= date("d,m,y")." ".$nom." ".$apelli." ".$sexo." ".$est_civil."n";
  32. fputs($formcorto,$datos);
  33. fclose($formcorto);
  34. }
  35. }
  36. ?>
  37.  

Son solo esos datos es de practica estoy estudiando. espera me puedas dar una mano.

Gracias desde ya.

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: levantar datos de un .txt y mostrarlo en tablas
« Respuesta #3 en: Lunes 23 de Noviembre de 2009, 15:34 »
0
Bueno, en primera te diré que no es recomendable usar el espacio como separador de campos porque, por ejemplo, el apellido puede ser compuesto ("Perez Lopez Rodriguez") y allí al leer aparecerá como tres campos cuando en realidad es uno solo.

Como sea:
Código: PHP
  1.  
  2. $linea = "";
  3. $fh = fopen("formcorto.txt","r");
  4. while (!feof($fh)) {
  5. $linea = fgets($fh);  // también puede ser $linea = stream_get_line($fh,65535,"n"); por si la línea es mas de 1024 bytes
  6. $aux = explode(" ",$linea);
  7. print_r($aux);
  8. }
  9. fclose($fh);
  10.  
  11.  

cesand

  • Miembro MUY activo
  • ***
  • Mensajes: 127
    • Ver Perfil
Re: levantar datos de un .txt y mostrarlo en tablas
« Respuesta #4 en: Martes 24 de Noviembre de 2009, 20:56 »
0

Gracias por la rspuesta amigo... la verdad creo que quise ir mas halla de lo que puedo por ahora :unsure: no no te pude entender. Me podras dar otra ayuda mas simple asi veo como trabaja el explode() e implode()


Por Ejemplo si tengo: email@gmail.com
[/b]


Epero me ayudes con esto
gracias desde ya.

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: levantar datos de un .txt y mostrarlo en tablas
« Respuesta #5 en: Miércoles 25 de Noviembre de 2009, 03:13 »
0
Pues remítete a la ayuda de PHP que está en la página oficial. Ahí están explicadas todas las funciones de PHP.

Pero para hacerla corta. Supongamos que tienes:

Código: PHP
  1. $linea = "Esto es una línea de ejemplo";
  2. $aux = explode(" ",$linea);
  3.  
El array $aux quedará como:
Código: PHP
  1. $aux[0] => Esto
  2. $aux[1] => es
  3. $aux[2] => una
  4. $aux[3] => línea
  5. $aux[4] => de
  6. $aux[5] => ejemplo
  7.  

En el caso de:
Código: PHP
  1. $correo = "email@gmail.com";
  2. $aux = explode("@",$correo);
  3.  
El array $aux quedará como:
Código: PHP
  1. $aux[0] => email
  2. $aux[1] => gmail.com
  3.