miércoles, 18 de junio de 2025

Uso de archivos en PHP para diseñar una base de datos de empleados

 El siguiente ejemplo se basa en la creación de una base de datos inspirada en albergar datos de empleados de una empresa ficticia.

Se hace uso de los archivos .dat así como de sus distintos comandos para poder guardar, mostrar y buscar en estos compilatorios de datos.

Dentro del código HTML también se hace uso de un nuevo tipo de input denominado "hidden" ya que no es un dato accesible por el usuario, simplemente sirve para declarar la opción seleccionada al sistema.

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>PAGINA ARCHIVO EMPLEADO</H2>   

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

      action="empleado.php">

CODIGO:

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

</label> <p>

NOMBRE:

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

</label> <p>

APELLIDO:

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

</label>  <p>

CEDULA:

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

</label>  <p>

EDAD:

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

</label>  <p>

DIRECCION:

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

</label>  <p>

TELEFONO:

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

</label>  <p>

CORREO:

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

</label>  <p>

CARGO:

<select name="cargo">

<option>Gerente</option>

<option>Secretario</option>

<option>Contador</option>

<option>Empleado</option>

<option>Conserje</option>

</select>

</label>  <p>

DEPARTAMENTO:

<select name="departamento">

<option>Marketing</option>

<option>Ventas</option>

<option>Administracion</option>

<option>Recursos Humanos</option>

<option>Produccion</option>

</select>  

</label>  <p>

HORA DE ENTRADA:

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

</label>  <p>

HORA DE SALIDA:

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

</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  "ARCHIVO DE EMPLEADO <br>";

$op=$_POST["op"];

$vcodigo=$_POST["codigo"];

$vnombre=$_POST["nombre"];

$vapellido=$_POST["apellido"];

$vcedula=$_POST["cedula"];

$vedad=$_POST["edad"];

$vdireccion=$_POST["direccion"];

$vtelefono=$_POST["telefono"];

$vcorreo=$_POST["correo"];

$vcargo=$_POST["cargo"];

$vdepartamento=$_POST["departamento"];

$vhorae=$_POST["horae"];

$vhoras=$_POST["horas"];

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

{

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

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

echo "Apellido: " . $vapellido. "<br>";

echo "Cedula: " . $vcedula. "<br>";

echo "Edad: " . $vedad. "<br>";

echo "Direccion: " . $vdireccion. "<br>";

echo "Telefono: " . $vtelefono. "<br>";

echo "Correo: " . $vcorreo. "<br>";

echo "Cargo: " . $vcargo. "<br>";

echo "Departamento: " . $vdepartamento. "<br>";

echo "Hora de Entrada: " . $vhorae. "<br>";

echo "Hora de Salida: " . $vhoras. "<br>";

$registro = $vcodigo . "/".  $vnombre . "/" . $vapellido . "/" . $vcedula . "/" . $vedad . "/" . $vdireccion . "/" . $vtelefono . "/" . $vcorreo . "/" . $vcargo . "/" . $vdepartamento . "/" . $vhorae . "/" . $vhoras . "\n" ;

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

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

fwrite($fp, $registro);

fclose($fp);

echo "Archivo guardado!!!"; 

}

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

{

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

$file = "EMPLEADO.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 = "EMPLEADO.dat";

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

        while(!feof($fp))

{

             $texto= fgets($fp);

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

$n=strlen($texto);

$sw=0;

$cod="";

$nom="";

$ape="";

$ced="";

$eda="";

$dir="";

$tel="";

$cor="";

$car="";

$dep="";

$hoe="";

$hos="";

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

{

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

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

if($c=="/")

{

$sw++;

}

if($sw==0)

{

$cod=$cod . $c;

}

if($sw==1)

{

$nom=$nom . $c;

}

if($sw==2)

{

$ape=$ape . $c;

}

if($sw==3)

{

$ced=$ced . $c;

}

if($sw==4)

{

$eda=$eda . $c;

}

if($sw==5)

{

$dir=$dir . $c;

}

if($sw==6)

{

$tel=$tel . $c;

}

if($sw==7)

{

$cor=$cor . $c;

}

if($sw==8)

{

$car=$car . $c;

}

if($sw==9)

{

$dep=$dep . $c;

}

if($sw==10)

{

$hoe=$hoe . $c;

}

if($sw==11)

{

$hos=$hos . $c;

}

}

if($cod == $vcodigo)

{

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

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

echo "Apellido: " . $ape . "<br>";

echo "Cedula: " . $ced . "<br>";

echo "Edad: " . $eda . "<br>";

echo "Direccion: " . $dir . "<br>";

echo "Telefono: " . $tel . "<br>";

echo "Correo: " . $cor . "<br>";

echo "Cargo: " . $car . "<br>";

echo "Departamento: " . $dep . "<br>";

echo "Hora de Entrada: " . $hoe . "<br>";

echo "Hora de Salida: " . $hos . "<br>";

$flip=1;

}

        }

if($flip==0)

{

echo  "Empleado no encontrado <br>";

}

fclose($fp);

}

?>

Funcionalidad de la base de datos:









No hay comentarios:

Publicar un comentario