Foros del Web » Programando para Internet » PHP »

Buscar y mostrar datos en txt con php

Estas en el tema de Buscar y mostrar datos en txt con php en el foro de PHP en Foros del Web. Hola amigos, estoy trabajando en un proyecto en el cual necesito usar un txt como base de datos, lo que necesito es buscar desde un ...
  #1 (permalink)  
Antiguo 27/01/2015, 16:58
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Buscar y mostrar datos en txt con php

Hola amigos, estoy trabajando en un proyecto en el cual necesito usar un txt como base de datos, lo que necesito es buscar desde un formualrio ciertos datos y que el sistema me muestre desde la linea (X) hasta la linea (Y) el contenido del txt. Como resultado de la busqueda este es el codigo que estoy usando:

Código PHP:
<?php
$i
=0// variable Inicial para comprobar si se encontró algun valor
//Si no está vacio  y si la  variable  existe
if((!empty($_POST['codigo']))|| isset($_POST['codigo'])){
// abriendo el archivo de texto que se encuentra en el mismo directorio 
//que los archivos html  y php
 
$file fopen("archivo.txt""r") or exit("Error abriendo fichero!");
 
//Lee línea a línea y escribela hasta el fin de fichero
 
$v=0;
 while(
$linea fgets($file)) {
 if (
feof($file)) break;
 
$linea substr$linea0, -);
 
$cadena[$v]=$linea;
 
$v++;  

 }
 
fclose($file);
$codigo $_POST['codigo'];
$nombre $_POST['nombre'];



// recorremos nuestro array  y trabajarlo con nuestro algoritmo
foreach($cadena as $pasar)
{
    
// comparamos si el codigo ingresado en el TEXTBOX
    //coincide con alguno que tenemos en nuestro TXT
    
if($codigo == substr($pasar03) )  
        {
        
        




          echo 
'<pre>' $cadena[0]. '</pre>';
          echo 
'<pre>' $cadena[1]. '</pre>';
          echo 
'<pre>' $cadena[2]. '</pre>';
          echo 
'<pre>' $cadena[3]. '</pre>';
          echo 
'<pre>' $cadena[4]. '</pre>';
          echo 
'<pre>' $cadena[5]. '</pre>';
          echo 
'<pre>' $cadena[6]. '</pre>';
          echo 
'<pre>' $cadena[7]. '</pre>';
          echo 
'<pre>' $cadena[8]. '</pre>';
          echo 
'<pre>' $cadena[9]. '</pre>';
          echo 
'<pre>' $cadena[10]. '</pre>';
          echo 
'<pre>' $cadena[11]. '</pre>';
          echo 
'<pre>' $cadena[12]. '</pre>';
          echo 
'<pre>' $cadena[13]. '</pre>';
          echo 
'<pre>' $cadena[14]. '</pre>';
          echo 
'<pre>' $cadena[15]. '</pre>';
          echo 
'<pre>' $cadena[16]. '</pre>';
          echo 
'<pre>' $cadena[17]. '</pre>';
          echo 
'<pre>' $cadena[18]. '</pre>';
          echo 
'<pre>' $cadena[19]. '</pre>';
          echo 
'<pre>' $cadena[20]. '</pre>';
          echo 
'<pre>' $cadena[21]. '</pre>';
          echo 
'<pre>' $cadena[22]. '</pre>';
          echo 
'<pre>' $cadena[23]. '</pre>';
          echo 
'<pre>' $cadena[24]. '</pre>';
          echo 
'<pre>' $cadena[25]. '</pre>';
          echo 
'<pre>' $cadena[26]. '</pre>';
          echo 
'<pre>' $cadena[27]. '</pre>';
          echo 
'<pre>' $cadena[28]. '</pre>';
          echo 
'<pre>' $cadena[29]. '</pre>';
          echo 
'<pre>' $cadena[30]. '</pre>';
          echo 
'<pre>' $cadena[31]. '</pre>';
          
   






            
$i=1;
        }
}
}
// Si no se encontró nada  simplemente mostramos este texto
if($i=='0')
{
    echo 
"Su Nro de CODIGO  no fué encontrado ....";
    echo 
"<br> Intente nuevamente ";
    echo 
'<A HREF="pguno.html">Anterior</A>';
}
?>

Y este es el txt:


032100 PILOTO #CERTIFICAFO
CODIGO: 556602 TRABAJADOR: FANNY LU
$: 8,851.40 NIVEL: AVANZADO
///EXPERIENCIA CERTIFICADA//

-----------------------

033100 PILOTO #CERTIFICAFO
CODIGO: 556602 TRABAJADOR: CARLOS BAUTE
$: 8,851.40 NIVEL: AVANZADO
///EXPERIENCIA CERTIFICADA//

---------------------

034100 PILOTO #CERTIFICAFO
CODIGO: 556602 TRABAJADOR: REINALDO LOPEZ
$: 8,851.40 NIVEL: AVANZADO
///EXPERIENCIA CERTIFICADA//





HASTA AHORA EL CODIGO ME FUNCIONA BIEN, EL PROBLEMA ES QUE AL BUSCAR DESDE EL FORMUALRIO SEGUN EL CODIGO SIEMPRE ME MUESTRA EL PRIMER REGISTRO, NO CONSIGO HACER QUE ME MUESTRE EL CONTENIDO SEGUN EL CODIGO QUE BUSCO.

GRACIAS DE ANTEMANO, ESPERO APRENDER UN POCO MAS DE USTEDES.
  #2 (permalink)  
Antiguo 28/01/2015, 09:28
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Buscar y mostrar datos en txt con php

tienes que buscar el codigo y mostrar ese en el foreach
este codigo
if($codigo == substr($pasar, 0, 3) )
no esta buscando el codigo correcto
  #3 (permalink)  
Antiguo 28/01/2015, 09:30
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Buscar y mostrar datos en txt con php

esto es lo que esta comparando el IF

032
COD
$:
///
---
033
COD
$:
///
---
034
COD
$:
///
  #4 (permalink)  
Antiguo 28/01/2015, 11:15
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Buscar y mostrar datos en txt con php

Amigo, gracias. Ya lo logre la forma de buscar correctamente es:

Código PHP:
 if($codigo == substr($pasar98) )  
        { 
Pero aun sigo, sin poder mostrar el contenido que corresponde a ese codigo, recuerda que desde un formulario ubico el codigo 5566021 por ejemplo, y deberia mostrarme esto:

034100 PILOTO #CERTIFICAFO
CODIGO: 5566021 TRABAJADOR: REINALDO LOPEZ
$: 8,851.40 NIVEL: AVANZADO
///EXPERIENCIA CERTIFICADA//

pero solo me muestra esto:

032100 PILOTO #CERTIFICAFO
CODIGO: 556602 TRABAJADOR: FANNY LU
$: 8,851.40 NIVEL: AVANZADO
///EXPERIENCIA CERTIFICADA//

que equivale al primer registro del txt, lo que quiero es que con el codigo se pueda mostrar la informacion completa del usuario. Sin importar en que posicion del txt esté.

Gracias de antemano.-
  #5 (permalink)  
Antiguo 28/01/2015, 11:55
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Buscar y mostrar datos en txt con php

$v cuenta la cantidad de lineas
entonces ve que valor es $v cuando entra en el if
si sumas 1 los resultados seran
$: 8,851.40 NIVEL: AVANZADO
si sumas 1mas los resultados seran
///EXPERIENCIA CERTIFICADA//

en concreto
$: 8,851.40 NIVEL: AVANZADO
///EXPERIENCIA CERTIFICADA//

y asi armas tu variable con el texto
  #6 (permalink)  
Antiguo 28/01/2015, 15:56
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Buscar y mostrar datos en txt con php

Excelente te capto la idea, ahora tienes idea de como empezar a recojer la pocisión del puntero es decir $v ??

Que me recomiendas un if? o while?
yo creo que con conocer la posicion actual del puntero o de la linea que se esta buscando a partir de alli se puede armar el resto. Tal y como me lo recomiendas.
  #7 (permalink)  
Antiguo 28/01/2015, 16:10
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Buscar y mostrar datos en txt con php

Espero que te des cuenta que tu solución se volverá ineficiente a corto plazo. ya que tienes que pasar N lineas anteriores a la posición que quieres alcanzar en el archivo.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 28/01/2015, 16:16
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Buscar y mostrar datos en txt con php

Hola HHS, si en realidad. No es funcional devolver tantas lineas... Porque recuerda que los registros son dinamicos pero, si logro conocer la posicion del cursor creo poder lograrlo, ahora el problema es que no se que funcion usar para devolver la posicion del cursor en el momento que realiza la consulta.
  #9 (permalink)  
Antiguo 28/01/2015, 16:29
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Buscar y mostrar datos en txt con php

De todas formas estas accediendo de forma secuencial, no importa si conoces la posición el echo es que para llegar a ella, necesitas leer los registros anteriores.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #10 (permalink)  
Antiguo 28/01/2015, 16:57
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Buscar y mostrar datos en txt con php

Que me recomiendas entonces amigo? Estoy intentando con ftell pero aun no lo logro.
  #11 (permalink)  
Antiguo 28/01/2015, 17:38
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Buscar y mostrar datos en txt con php

Busca el tema de acceso aleatorio: http://www.webopedia.com/TERM/R/random_access.html que es lo que estas buscando realizar
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #12 (permalink)  
Antiguo 28/01/2015, 17:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Buscar y mostrar datos en txt con php

¿Y no es mejor tener esta información en una base de datos o en algo más estructurado que un simple archivo de texto?

Vamos, que como ya han dicho: es una solución frágil y eventualmente será difícil de mantener.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 28/01/2015, 21:11
 
Fecha de Ingreso: noviembre-2014
Mensajes: 12
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Buscar y mostrar datos en txt con php

Si para mi seria mejor hacerlo en BD pero el cliente solo usa txt para el resto de sus app, y la idea de este proyecto es integralo con esas.

Ahora bien, ya encontre una forma espero lograrlo. Ahora el problema es que no logro conseguir que se muestren correctamente los arrays con numeros variables.

Me explico mejor, quiero hacer esto:

Código PHP:
$array[$x
para que me muestre o mejor dicho para que interprete esto:

Código PHP:
$array[6
Hasta ahora solo logro correrlo con numeros enteros pero al intentar cambiar el numero por una variable no se ejecuta. Mi duda es si la estoy escribiendo mal como deberia hacer para que corran sin problemas amigos?
  #14 (permalink)  
Antiguo 29/01/2015, 07:56
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Buscar y mostrar datos en txt con php

y el nuevo codigo es?????

php trabaja muy bien con txt siempre iguando no sean demaciados registros.

Etiquetas: html, registro, txt, variable
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 04:15.