Buen día amigos esta vez mostrare como poder hacer una búsqueda incremental en un cuadro de texto desde un formulario de HTML utilizando Tecnología PHP y MySQL.
Paso 1:
Hacer la conexión a la base de datos mediante PHP, generamos el archivo Conexion.php
<?php
//Declaración de Variables.
$servidor = “localhost”;
$basedatos = “productos”;
$usuario = “root”;
$contraseña = “root”;
$id_conexion = mysql_connect($servidor,$usuario,$contraseña) or die(“Error al insertar: “.mysql_error($id_conexion).” codigo: “.mysql_errno($id_conexion));
//Consulta si existe la base de Datos.
if(!mysql_select_db($basedatos,$id_conexion))
{
die(“Error al insertar: “.mysql_error($id_conexion).” codigo: “.mysql_errno($id_conexion));
}
//Esto es en caso de no tener bien configurado nuestro MySQL y no tengas problemas con acentos y demás anotaciones.
mysql_query(“SET NAMES ‘utf8′”);
?>
Paso 2:
Hacer el formulario en HTML5, generamos el archivo index.html
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″ />
<script src=”js/prototype.js” type=”text/javascript”></script>
<title>Búsqueda Incremental en PHP con MySQL</title>
</head>
<body>
<header>
<h1>Búsqueda Incremental en PHP con MySQL</h1>
</header>
<article>
<section>
<form method=”get”>
<input type=”text” onkeyup=”new Ajax.Updater(‘productos’,'dato.php?buscar=’+this.value, {method: ‘get’ })”>
</form>
<br />
<div id=”productos”></div>
</section>
</article>
</body>
<footer>
<p>Búsqueda Incremental en PHP con MySQL en Formulario HTML5.</p>
</footer>
</html>
Una vez generado podrán ver que estoy haciendo uso de una librería de PHP llamada Prototype la cual yo la agregue en una carpeta llamada “js”, dejo link de descarga de esta librería http://www.prototypejs.org/download
Paso 3:
Hacer la conexión a la consulta de los datos mediante PHP, generamos el archivo dato.php
<?php
//Identifica si contiene valor la Variable “Buscar”.
if($_GET['buscar'])
{
//Incluimos la conexión de la Base de Datos.
require_once(‘Conexion.php’);
//Definimos la variable consulta para pasar el parametro de la variable buscar.
$consulta=$_GET['buscar'];
//Declaramos variable de consulta.
$cadena =”SELECT Nombre FROM producto where Nombre LIKE ‘$consulta%’ “;
//Se realiza la consulta con la variable $cadena.
$tabla = mysql_query($cadena, $id_conexion) or die (“problema con cadena de conexión<br><b>” . mysql_error().”</b>”);
//Mostramos el numero de registros encontrados.
$registro = mysql_num_rows($tabla);
echo “Encontrados: “.$registro.”<br>”;
//Genera lista de datos encontrados.
while ($registro = mysql_fetch_array($tabla))
{
echo $registro['Nombre'] . “<br>”;
}
}
?>
Paso 4:
Script para generar la Base de Datos que utilizamos en el ejemplo
SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
– — Base de datos: `productos` –
– ——————————————————–
– — Estructura de tabla para la tabla `producto` –
CREATE TABLE `producto` ( `Id_producto` int(3) NOT NULL auto_increment, `Nombre` varchar(50) NOT NULL, PRIMARY KEY (`Id_producto`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
– — Volcar la base de datos para la tabla `producto` –
INSERT INTO `producto` VALUES (1, ‘relieve’); INSERT INTO `producto` VALUES (2, ‘cuaderno’); INSERT INTO `producto` VALUES (3, ‘carpeta’); INSERT INTO `producto` VALUES (4, ‘tijeras’);
Ejemplo, en la siguiente imagen.

Búsqueda Incremental en PHP con MySQL