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… |
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.
La pantalla siguiente, usada para invocar, no tiene ningún campo de entrada, pero pudiera tenerlo.

A continuación se muestra el programa que escribe la pantalla anterior, e invoca a busca.php
<h1>Programa de prueba</h1>
<p>Busca "Castro, Alba" 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> </p>
<p> </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>
A continuación se muestra el resultado de la búsqueda

<h1>Resultados</h1>
<p>Cantidad de registros conseguidos:<?php echo "$Cantidad"?></p>
<p>Se consiguió la persona : <?php echo "$PERNombre";?></p> <p>Cuyo có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ó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: