CASO 3: CATEGORÍA

En el siguiente artículo se explicará cómo fue implementado el código del caso CATEGORÍA de la funcionalidad Formulario Para la implementación de esta funcionalidad se usó el lenguaje de programación PHP, además se usa el método Get para el envío de datos entre la plataforma web Verifíquese Cédula Almacén y la plataforma móvil Verifíquese Cédula Premium, antes de comenzar se debe descargar la base de datos y montarla en un motor de MySQL, puedes descargar el código fuente pulsando en el siguiente enlace Clic aquí para descargar el código fuente.

El siguiente código pertenece al formulario:

<?php
   
//Se toman los valores enviados desde la aplicación Verifíquese Cédula por el método GET
   
$orh = null;
   
$bdh = null;
   
$wso = null;
   
$pur = null;
   
$gel = null;
   
$poe = null;
   
$wad = null;
   
$qwe = null;
   
$tyu = null;
   
$klz = null;
   
$sde = null;
   
$xlq = null;
   
$adicional1 = null;
   
$adicional2 = null;
   
$adicional3 = null;
   
$adicional4 = null;
   
$adicional5 = null;
   
$combo = null;
    if (!empty(
$_GET['orh'])) {
       
$orh = $_REQUEST['orh'];
    }
    if (!empty(
$_GET['bdh'])) {
       
$bdh = $_REQUEST['bdh'];
    }
    if (!empty(
$_GET['pur'])) {
       
$pur = $_REQUEST['pur'];
    }
    if (!empty(
$_GET['wso'])) {
       
$wso = $_REQUEST['wso'];
    }
    if (!empty(
$_GET['gel'])) {
       
$gel = $_REQUEST['gel'];
    }
    if (!empty(
$_GET['poe'])) {
       
$poe = $_REQUEST['poe'];
    }
    if (!empty(
$_GET['qwe'])) {
       
$qwe = $_REQUEST['qwe'];
    }
    if (!empty(
$_GET['tyu'])) {
       
$tyu = $_REQUEST['tyu'];
    }
    if (!empty(
$_GET['klz'])) {
       
$klz = $_REQUEST['klz'];
    }
    if (!empty(
$_GET['sde'])) {
       
$sde = $_REQUEST['sde'];
    }
    if (!empty(
$_GET['xlq'])) {
       
$xlq = $_REQUEST['xlq'];
    }
    if (!empty(
$_GET['wad'])) {
       
$wad = $_REQUEST['wad'];
    }
   
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="iso-8559-1"/>
    <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css">

</head>

<body  >
    <div class="container-fluid">
            <div class="row">
                <h3>Listado de documentos consultados</h3>
            </div>
            <div>
<!--Se usa el método GET para enviar los datos de la categoría y los datos del documento escaneado-->
<form class="form-horizontal" action="index.php" method="get">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Nombre Categoría</th>
<th>Extra</th>
</tr>
</thead>
<tbody>
<?php
                           
require 'database.php';
                           
$pdo = Database::connect();
                           
//Se busca si el documento escaneado está registrado a alguna categoría
                           
$sql = "Select categories.name_category, categories.Extra from categories inner join documentcategory on categories.id_categories = documentcategory.category where documentcategory.citizen_id = '".$gel."' and documentcategory.document_type = '".$qwe."' and documentcategory.country = '".$wad."'";
                            foreach (
$pdo->query($sql) as $row) {
                                echo
'<tr>';
                               
//Se arma el contenido de la tabla con la información de la categoría.
                               
echo '<td>'.$row['name_category'].'<input name="category" type="hidden" value="'.$row['name_category'].'"></td>';
                                echo
'<td>'.$row['Extra'].'<input name="categoryExtra" type="hidden" value="'.$row['Extra'].'"></td>';   
                            }
                           
                           
Database::disconnect();
                       
?>

</tbody>
</table>
<div class="control-group">
<label >Primer Nombre</label>
<input name="orh" disabled type="text" class="form-control" placeholder="Primer Nombre" value="<?php echo !empty($orh)?$orh:'';?>">
<input name="orh" type="hidden" value="<?php echo !empty($orh)?$orh:'';?>">
</div>
<div class="control-group">
<label>Segundo Nombre</label>
<input name="bdh" disabled type="text" class="form-control"  placeholder="Segundo Nombre" value="<?php echo !empty($bdh)?$bdh:'';?>">
<input name="bdh" type="hidden" value="<?php echo !empty($bdh)?$bdh:'';?>">
</div>
<div class="control-group">
<label>Primer Apellido</label>
<input disabled name="pur" type="text" class="form-control" placeholder="Primer Apellido" value="<?php echo !empty($pur)?$pur:'';?>">
<input name="pur" type="hidden" value="<?php echo !empty($pur)?$pur:'';?>">
</div>
<div class="control-group">
<label>Segundo Apellido</label>
<input disabled name="wso" type="text" class="form-control" placeholder="Segundo Apellido" value="<?php echo !empty($wso)?$wso:'';?>">
<input name="wso" type="hidden" value="<?php echo !empty($wso)?$wso:'';?>">
</div>
<div class="control-group">
<label>Número de Documento</label>
<input disabled name="gel" type="text" class="form-control" placeholder="Número de Documento" value="<?php echo !empty($gel)?$gel:'';?>">
<input name="gel" type="hidden" value="<?php echo !empty($gel)?$gel:'';?>">
</div>
<div class="control-group">
<label>País</label>
<input disabled name="wad" type="text" class="form-control" placeholder="País" value="<?php echo !empty($wad)?$wad:'';?>">
<input name="wad" type="hidden" value="<?php echo !empty($wad)?$wad:'';?>">
</div>
<div class="control-group">
<label>Tipo de Documento</label>
<input disabled name="qwe" type="text" class="form-control" placeholder="Tipo de Documento" value="<?php echo !empty($qwe)?$qwe:'';?>">
<input name="qwe" type="hidden" value="<?php echo !empty($qwe)?$qwe:'';?>">
</div>
<div class="control-group">
<label>Fecha de Lectura</label>
<input disabled name="tyu" type="text" class="form-control" placeholder="Fecha de Lectura" value="<?php echo !empty($tyu)?$tyu:'';?>">
<input name="tyu" type="hidden" value="<?php echo !empty($tyu)?$tyu:'';?>">
</div>
<div class="control-group">
<label>Latitud</label>
<input disabled name="klz" type="text" class="form-control" placeholder="Latitud" value="<?php echo !empty($klz)?$klz:'';?>">
<input name="klz" type="hidden" value="<?php echo !empty($klz)?$klz:'';?>">
</div>
<div class="control-group">
<label>Longitud</label>
<input disabled name="sde" type="text" class="form-control" placeholder="Longitud" value="<?php echo !empty($sde)?$sde:'';?>">
<input name="sde" type="hidden" value="<?php echo !empty($sde)?$sde:'';?>">
</div>
<div class="control-group">
<label>Información Extra</label>
<textarea disabled name="xlq" rows="5" cols="40"><?php echo $xlq;?></textarea>
<input name="xlq" type="hidden" value="<?php echo !empty($xlq)?$xlq:'';?>">
</div>

</div>
<button type="submit" class="btn btn-success">Aceptar</button>
</form>
</div>

    </div> <!-- /container -->

  </body>
</html>

En el anterior formulario se reciben los datos enviados del documento escaneado desde la aplicación móvil Verifíquese Cédula Premium para luego buscar la categoría a la que pertenece el documento, una vez echa esta búsqueda se procede a mostrar los datos de la categoría en la tabla, cuando se pulsa en el botón Aceptar se envía, por método Get, toda la información del documento más la información de la categoría a la aplicación móvil Verifíquese Cédula Premium.

El siguiente código pertenece al archivo de conexión a la base de datos:

<?php
class Database
{
    private static
$dbName = 'vfq_premium_almacen' ;
    private static
$dbHost = 'localhost' ;
    private static
$dbUsername = 'username';
    private static
$dbUserPassword = 'passwd';
    private static
$port = '3306';
    private static
$cont  = null;
    
    public function
__construct() {
        die(
'Init function is not allowed');
    }
    
    public static function
connect()
    {
      
// One connection through whole application
      
if ( null == self::$cont )
       {    
        try
        {
         
self::$cont =  new PDO( "mysql:host=".self::$dbHost.";"."port=".self::$port.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword);
         
self::$cont -> exec("set names utf8");
        }
        catch(
PDOException $e)
        {
          die(
$e->getMessage());
        }
       }
       return
self::$cont;
    }
    
    public static function
disconnect()
    {
       
self::$cont = null;
    }
}
?>