Mecanismo E-3 (busca.php): Solicitud de datos

Cuando se requiere solo unos datos muy específicos de un solo registro, este mecanismo permite realizar la búsqueda. Si se desean listar varios registros, se debe usar el Mecanismo E-4. Por ejemplo, se quiere ver si un usuario está registrado o no en una tabla, o se quiere conseguir la dirección de un cliente, etc.

En este mecanismo, el programa que invoca a busca.php, indica a través de una forma HTML, cuyos campos se especifican más abajo, cual es el registro que desea obtener y que información desea de ese registro. Los resultados son pasados como campos de una forma a la página indicada en el parámetro “Retorno”.

Nombre Uso
AAA

Código completo del servidor/base de datos/empresa/aplicación. Ejp: GWT101231

Tablas La lista de tablas que deben ser leídas, nombres internos separados por comas (Ejp: 101PER,101AR1). Aunque el orden de las tablas no es importante, en el LOG de uso del sistema, la primera tabla es la que va a quedar grabada como leída, con su correspondiente número de registro
Campos La lista de campos que se desean obtener (nombres internos), separados por comas
Condiciones Las condiciones que se deben cumplir para listar registros. En caso de haber varias tablas a las cuales se les está haciendo un "join", deben aparecer aquí esas condiciones. Se debe usar la sintaxis de MySql, por ejemplo usando los "AND" y los "OR" que sean necesarios
Perfil El nombre del perfil que tiene autorización para ejecutar el programa. En ese perfil, el directorio donde se encuentra el programa que invoca, debe estar definido
Retorno URL del programa de retorno. (Dirección completa http://www....)
Idioma El código de tres letras del idioma. Si no viene se supone que es español (esp)
PARÁMETROS OPCIONALES
Ordenamiento El orden en el cual se van a buscar los registros. Como este programa devuelve un solo registro, este campo es muy importante, en caso de que hayan más de un registro, ya que va a determinar cual es el que se devuelve. Se deben escribir los nombres internos y si es ascendente o descendente. Mismo formato que una cláusula ORDER BY de MySql. (Ej. PERNombre DESC)
PARÁMETROS DE SALIDA
Cantidad Cantidad de registros conseguidos. Si no se consiguió ninguno, devuelve el valor 0 (cero)
Mensaje Mensaje de error o problema conseguido
campo
campo
campo…

Cada uno de los campos solicitados en el parámetro de entrada “Campos”. Ejp: PERNombre, PERLinea1, PERBloque4…

Funcionamiento

Ejemplo

Se desea buscar el nombre de un empleado, su email y su teléfono, así como de la empresa en la cual trabaja. Los datos del empleado están en la tabla PER y los de la empresa en la tabla AR3.

Pantalla que invoca

La pantalla siguiente, usada para invocar, no tiene ningún campo de entrada, pero pudiera tenerlo.

Programa que invoca

A continuación se muestra el programa que escribe la pantalla anterior, e invoca a busca.php

<h1>Programa de prueba</h1>
<p>Busca &quot;Castro, Alba&quot; en la tabla 700PER y su empresa en la tabla 700AR1.</p>
<p>Lista los campos Código, Nombre, Email y origen del archivo de Personas (PER) y Nombre,
Dirección y Ciudad del archivo de empresas (AR1)</p>
<p>El perfil Internet debe estar definido</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<form name="forma" method="post" action="http://www.net2client.com/new/inter/busca.php">
<input type='hidden' name='AAA' value='GWT100700'>
<input type='hidden' name='Tablas' value='700PER,700AR1'>
<input type='hidden' name='Condiciones' value="PERNombre='Castro, Alba' AND PEREnlace1=AR1Codigo">
<input type='hidden' name='Campos' value='PERCodigo,PERNombre,PEREmail1,AR1Nombre,AR1Bloque1,AR1Lista1,PERBloque2'>
<input type='hidden' name='Perfil' value='Internet'>
<input type='hidden' name='Idioma' value='eng'>
<input type='hidden' name='Retorno' value='http://www.tecnologiainternet.com/pruebasn2c/resultadobusca.htm'>
<p class=centrado>
<input type='submit' value='OK' name='B1'>
</p>
</form>

Resultado

A continuación se muestra el resultado de la búsqueda

Programa que muestra los resultados (resultadobusca.htm)

<h1>Resultados</h1>
<p>Cantidad de registros conseguidos:<?php echo "$Cantidad"?></p>
<p>Se consigui&oacute; la persona : <?php echo "$PERNombre";?></p> <p>Cuyo c&oacute;digo es:<?php echo "$PERCodigo";?></p> <p>y con Email: <?php echo "$PEREmail1";?></p> <p>Trabaja en la empresa: <?php echo "$AR1Nombre";?></p> <p>Con Direcci&oacute;n: <?php echo "$AR1Bloque1";?></p> <p>En la ciudad de: <?php echo "$AR1Lista1";?></p> <p>Origen: <?php echo "$PERBloque2";?> <font color="red">Nota:Viene en asteriscos por que es un campo VISIBLE: NO</font></p>
<p class=centrado><input type="button" onClick='history.go(-2);' value="REGRESAR"></p>

Enlaces en el mismo capítulo:

Enlaces otros capítulos: