Búsqueda Incremental en PHP con MySQL

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
Búsqueda Incremental en PHP con MySQL

11 pensamientos en “Búsqueda Incremental en PHP con MySQL”

  1. como puedo hacer para que todos los datos aparescan por defecto y al buscar aparesca la busqueda y cuando el text este vacio vuelvan a salir todos los datos, por favor ayudame..

  2. amigo tengo una consulta yo utilizo el form para guardar los datos pero utilizo metodo post en los mismos campos donde guardo quiero hacer la busqueda pero estos son get hay alguna forma de manejar eso?

    1. que tal victor, si tienes skype agregame “Irvin_ga” si tienes Messenger estoy como “prog_17@hotmail.com” saludos, es pos y el get deben funcionar casi de la misma manera solo es cuestión como los recibes en la pagina.

      Saludos,

  3. Disculpe estoy utilizando su metodo para realizar la consulta incremental pero nome funciona, no marca ningun error pero tampoco hace nada, no se que sucede ya revise las variables y todo esta bien, bueno al menos eso aparenta ser, espero pueda ayudarme :S

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s