viernes, 20 de junio de 2025

Uso de archivos en PHP para el manejo de datos en una ferretería

 En el siguiente programa podremos observar el método de utilización de los archivos en PHP aplicados en un ejemplo real con el fin de manejar diferentes funcionalidades y almacenamientos de datos.

A continuación se mostrará el código de una de las partes del programa. Las demás partes son similares a este en tema de funcionalidad y estructura con la ligera diferencia de nombres de variables y archivos.

Código HTML:

<HTML>

<head>

</head>

<script>

   function f_guardar()

   {

     // alert("hola 1");

      op.value=1;   

   }

   function f_mostrar()

   {

     // alert("hola 2");

      op.value=2;   

   }

   function f_buscar()

   {

    //  alert("hola 3");

      op.value=3;   

   }

 </script>

 <BODY>

<H2> MANTENIMIENTO DE MARCA</H2>   

<form id="form1" name="form1" method=POST 

      action="marcaResultado.php">

CODIGO:

<input type="TEXT" name="codigo">    

</label> <p>

DESCRIPCION:

<input type="TEXT" name="descripcion">    

</label>  <p>

 

    <input type="hidden" name="op"  id="op">  

     <input type="SUBMIT" value="GUARDAR" NAME="GUARDAR" onClick="f_guardar()">

<input type="SUBMIT" value="MOSTRAR" NAME="MOSTRAR" onClick="f_mostrar()">

<input type="SUBMIT" value="BUSCAR" NAME="BUSCAR" onClick="f_buscar()">


</form>

</BODY>

</HTML>

Código PHP:

<?php

echo  "MANTENIMIENTO DE MARCA<br>";

$op=$_POST["op"];

$vcodigo=$_POST["codigo"];

$vdes=$_POST["descripcion"];

    if($op==1)  // PROCESO GUARDAR

{

echo "codigo: " . $vcodigo. "<br>";

echo "marca: " . $vdes. "<br>";

$file = "marca.dat";  // nombre del archivo

$registro = $vcodigo . "/".  $vdes . "\n" ;

$fp = fopen($file, "a");  // agregar // append

fwrite($fp, $registro);

fclose($fp);

echo "Registro guardado!!!"; 

}

if($op==2)  // PROCESO MOSTRAR

{

echo "codigo: " . $vcodigo. "<br>";

$file = "marca.dat";

$fp = fopen($file, "r");  // read //leer 

        while(!feof($fp))

{

             $texto= fgets($fp);

echo $texto . "<BR>";

        }

fclose($fp);

}

if($op==3)  // PROCESO buscar

{

    $flip=0; //     1/HP     

echo "codigo: " . $vcodigo. "<br>";

$file = "marca.dat";

$fp = fopen($file, "r");

        while(!feof($fp))

{

             $texto= fgets($fp);

// echo $texto . "<BR>";

$n=strlen($texto);

$sw=0;

$cod="";

$des="";

for($i=0;$i<$n;$i++)

{

$c=substr($texto,$i,1);

// echo $c . "<br>";

if($c=="/")

{

$sw=1;// $sw++;

}

if($sw==0)

{

$cod=$cod . $c;

}

if($sw==1)

{

$des=$des . $c;

}

}

 

if($cod == $vcodigo)

{

echo $cod . "<br>";

echo $des . "<br>";

$flip=1;

}

        }

if($flip==0)

{

echo  "registro NO encontrado!!!! <br>";

}

fclose($fp);

}

 ?>


Ese es el ejemplo de una de las funcionalidades básicas de almacenamiento. A continuación se mostrará la parte que reúne todos los datos y forma listas con ellos.

Código HTML:

<HTML>

<head>

</head>

<script>

   function f_guardar()

   {

     // alert("hola 1");

      op.value=1;   

   }

   function f_mostrar()

   {

     // alert("hola 2");

      op.value=2;   

   }

   function f_buscar()

   {

    //  alert("hola 3");

      op.value=3;   

   }

 </script>

 <BODY>

<H2> MANTENIMIENTO DE PRODUCTO</H2>   

<form id="form1" name="form1" method=POST 

      action="mproducto.php">

CODIGO:

<input type="TEXT" name="codigo">    

</label> <p>

NOMBRE:

<input type="TEXT" name="descripcion">    

</label>  <p>

PRECIO:

<input type="TEXT" name="precio">    

</label>  <p>

<?php


echo "MARCA: ";

echo "<select name='marca'>";

$file = "marca.dat";

$fp = fopen($file, "r");  // read //leer 

$k=0;


while(!feof($fp))

 {

     $texto= fgets($fp);

// echo $texto . "<BR>";

$n=strlen($texto);

$sw=0;

$cod="";

$des="";

 

for($i=0;$i<$n;$i++)

{

$c=substr($texto,$i,1);

// echo $c . "<br>";

    if($c=="/")

{

   $sw=1;// $sw++;

    }

if($sw==0)

{

  $cod=$cod . $c;

}

if($sw==1)

{

   $des=$des . $c;

}

}

$Vec_codigo[$k]= $cod;

$Vec_des[$k]= $des;  

$k++;

  }

 

  for($i=0;$i<$k-1;$i++)

  {

     for($j=$i+1;$j<$k;$j++)

     {   

     if($Vec_des[$i] > $Vec_des[$j])

     {

   $aux=$Vec_des[$i];

   $Vec_des[$i]= $Vec_des[$j];

   $Vec_des[$j]=$aux;

      }

     }

   } 

   echo "<br> DATOS ORDENADOS <BR>";

   

   for($i=0;$i<$k;$i++)

   {

        echo "<option>". $Vec_des[$i] . "</option>";

//echo $Vec_des[$i] . "<br>";

   }


  fclose($fp);


  echo "</select>"; 



echo "<p>";




echo "CATEGORIA: ";

echo "<select name='categoria'>";

$file = "categoria.dat";

$fp = fopen($file, "r");  // read //leer 

$k=0;


while(!feof($fp))

 {

     $texto= fgets($fp);

// echo $texto . "<BR>";

$n=strlen($texto);

$sw=0;

$cod="";

$des="";

 

for($i=0;$i<$n;$i++)

{

$c=substr($texto,$i,1);

// echo $c . "<br>";

    if($c=="/")

{

   $sw=1;// $sw++;

    }

if($sw==0)

{

  $cod=$cod . $c;

}

if($sw==1)

{

   $des=$des . $c;

}

}

$Vec_codigo[$k]= $cod;

$Vec_des[$k]= $des;  

$k++;

  }

 

  for($i=0;$i<$k-1;$i++)

  {

     for($j=$i+1;$j<$k;$j++)

     {   

     if($Vec_des[$i] > $Vec_des[$j])

     {

   $aux=$Vec_des[$i];

   $Vec_des[$i]= $Vec_des[$j];

   $Vec_des[$j]=$aux;

      }

     }

   } 

   echo "<br> DATOS ORDENADOS <BR>";

   

   for($i=0;$i<$k;$i++)

   {

        echo "<option>". $Vec_des[$i] . "</option>";

//echo $Vec_des[$i] . "<br>";

   }


  fclose($fp);

 echo "</select>"; 


?>

      

    <input type="hidden" name="op"  id="op">  

<br>

<p>

     <input type="SUBMIT" value="GUARDAR" NAME="GUARDAR" onClick="f_guardar()">

<input type="SUBMIT" value="MOSTRAR" NAME="MOSTRAR" onClick="f_mostrar()">

<input type="SUBMIT" value="BUSCAR" NAME="BUSCAR" onClick="f_buscar()">


</form>

</BODY>

</HTML>

Código PHP:

<?php

echo  "MANTENIMIENTO DE PRODUCTO<br>";

$op=$_POST["op"];

$vcodigo=$_POST["codigo"];

$vnom=$_POST["descripcion"];

$vprecio=$_POST["precio"];

$vmarca=$_POST["marca"];

$vcategoria=$_POST["categoria"];

    if($op==1)  // PROCESO GUARDAR

{

echo "codigo: " . $vcodigo. "<br>";

echo "nombre: " . $vnom. "<br>";

echo "precio: " . $vprecio. "<br>";

echo "marca: " . $vmarca. "<br>";

echo "categoria: " . $vcategoria. "<br>";

$file = "producto.dat";

$registro = $vcodigo . "/".  $vnom . "/" . $vprecio . "/". $vmarca. "/" . $vcategoria . "\n";

$fp = fopen($file, "a");  // agregar // append

fwrite($fp, $registro);

fclose($fp);

echo "Registro guardado!!!"; 

}

if($op==2)  // PROCESO MOSTRAR

{

$file = "producto.dat";

$fp = fopen($file, "r");  // read //leer 

        while(!feof($fp))

{

             $texto= fgets($fp);

echo $texto . "<BR>";

        }

fclose($fp);

}

if($op==3)  // PROCESO buscar

{

    $flip=0;   

echo "codigo: " . $vcodigo. "<br>";

$file = "producto.dat";

$fp = fopen($file, "r");

        while(!feof($fp))

{

             $texto= fgets($fp);

// echo $texto . "<BR>";

$n=strlen($texto);

$sw=0;

$cod="";

$nom="";

$pre="";

$mar="";

$cat="";

for($i=0;$i<$n;$i++)

{

$c=substr($texto,$i,1);

if($c=="/")

{

$sw++;

}

if($sw==0)

{

$cod=$cod . $c;

}

if($sw==1)

{

$nom=$nom . $c;

}

if($sw==2)

{

$pre=$pre . $c;

}

if($sw==4)

{

$mar=$mar . $c;

}

if($sw==6)

{

$cat=$cat . $c;

}

}

 

if($cod == $vcodigo)

{

echo "Codigo: ". $cod . "<br>";

echo "Nombre: ". $nom . "<br>";

echo "Precio: ". $pre . "<br>";

echo "Marca: ". $mar . "<br>";

echo "Categoria: ". $cat . "<br>";

$flip=1;

}

        }

if($flip==0)

{

echo  "registro NO encontrado!!!! <br>";

}

fclose($fp);

}

 ?>

Funcionalidad de la página:

 

Funcionalidad Categoría:



Funcionalidad Producto:








No hay comentarios:

Publicar un comentario