Tema: FAQ's de PHP
Ver Mensaje Individual
  #147 (permalink)  
Antiguo 27/10/2005, 20:25
Avatar de atak
atak
 
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 19 años, 4 meses
Puntos: 5
De acuerdo Consultas a un Archivo de texto

Tema : Manejo de archivos de texto con PHP
Pregunta : ¿Cómo puedo hacer una consulta a un TXT?
Respuesta: Con la siguiente guía y algoritmo
========================
Muchos de nosotros tenemos sistemas que se ejecutan en D.O.S. como el FOXPRO por ejemplo y los cuales nos pueden exportar una tabla a un formato TXT y nosotros queremos hacer consultas desde nuestra WEB a éste archivo (txt).

Bien les diré que si es posible hacer la consulta de la siguiente manera.

1. Tenemos nuestro archivo de texto por ejemplo que lo llamaremos data.txt
con las siguientes columnas:
CODIGO : (03 caracteres)
FECHA : (10 carateres)
CLIENTE : (25 caracteres)

data.txt
Cita:
de la siguiente manera

xxx xx/xx/xxxx xxxxxxxxxxxxxxxxxxxxxxxxx

algunos datos de ejemplo :
254 12/10/2005 Juan Casqui Rios
124 01/10/2005 Marco Villanes Soza
144 05/05/2005 Luciana Marquez Castillo
235 17/11/2005 Jose Santillan Vera
014 16/02/2005 Simon Laurente Saenz

(mantener siempre la estructura)


Ahora nuestro archivo html

pguno.html
Código PHP:

<HTML>
<
HEAD>
<
TITLEConsulta </TITLE>
</
HEAD>
<
BODY>
    <
FORM METHOD=POST ACTION="pgdos.php">
        
CODIGO:<br>
        <
INPUT TYPE="text" NAME="codigo" size="6" maxlength="3"> <br>
        <
INPUT TYPE="submit" value="Enviar" name="Enviar">    
    </
FORM>
</
BODY>
</
HTML
ahora pgdos.php
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 ("data.txt""r");
//Para el indice de mi array
$v=0;
//recorrido del archivo  TXT
while (!feof($file)) {    
    
// consideramos linea por linea
    
$linea fgets($file,41);
    
//linea por linea enviamos a un array
    
$cadena[$v]=$linea;
    
//contador incremental
    
$v++;    
}
//obtenido los datos del archivo cerramos el archivo
fclose ($file); 
// 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($_POST['codigo']==substr($pasar,0,3))
        {
        
// si es asi mostramos los datos que corresponden
            
echo "<br>";
            echo 
"CODIGO  :".substr($pasar,0,3);
            echo 
"<br>";
            echo 
"FECHA : ".substr($pasar,4,10);
            echo 
"<br>";
            echo 
"CLIENTE : ".substr($pasar,15,25);
            echo 
"<br>";
            
// indica que encontró algo
            
$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>';
}
?>
Los tres archivos (txt,html,php) deberán estar en el mismo directorio.

Eso es todo amigos espero que les sirva de algo.
Cualquier sugerencia, critica, etc. espero su mensaje.

Salu2 a to2
__________________
. .: El mejor Inicio :. .

Última edición por atak; 29/10/2005 a las 06:35