Consulta a base de datos MySQL:

|

Partiendo de que tenemos una base de datos MySQL instalada en el servidor poblada con valores, vamos a realizar un sistema de consulta por parte del usuario a esa base de datos.

Necesitamos dos archivos un html y otro php.

En el archivo html introducimos un formulario con los campos de texto que necesitamos para realizar la consulta, constará de un campo de texto seleccionable y otro para introducir el término que se desea buscar:


Tipo de Búsqueda:




¿Qué deseas buscar?:







Ahora configuramos el archivo php (consulta.php) que conectará con la base de datos y devolverá los resultados de la búsqueda:



Creamos una condicional para comprobar que el campo se ha seleccionado e introducido valores:

trim ($busqueda);
if (!$tipobusqueda || !$busqueda)
{
echo "Campo de búsqueda vacío . Inténtalo de nuevo. ";
exit;
}


Ahora, para que no puedan entrar carácteres que puedan interferir en la interpretación del script como puede ser las comillas, la función addslashes añade las barras inversas para estirilizar el campo, posteriormente deberemos eliminarlas en los resultados de búsqueda con la función stripslashes.

$tipobusqueda = addslashes($tipobusqueda);
$terminobusqueda = addslashes($busqueda);


Conectamos con nuestra base de datos y guardamos los datos de conexión en una variable para posteriormente realizar la condicional de error de conexión. Utilizamos la @ delante para que no nos devuelva los datos de la conexión en la pantalla.

@ $db = mysql_pconnect("host", "usuario", "contraseña");

if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}
mysql_select_db("bdconsulta");


Llevamos a cabo la consulta:

$consulta = "select * from tabla where ".$tipobusqueda." like '%".$busqueda."%' ";
$resultado = mysql_query($consulta);


Mostramos los resultados según el número obtenido:

$numerode_resultados = mysql_num_rows($resultado);

echo "

Número de resultados encontrados: ".$numerode_resultados."

";

for ($i=0; $i <$numerode_resultados; $i++)
{
$filas = mysql_fetch_array($resultado);


Utilizamos la función stripslashes para eliminar las posibles barras inversas y mostramos la búsqueda:

echo "

".($i+1).". Búsqueda A: ";
echo stripslashes($filas["a"]);
echo "
Búsqueda B: ";
echo stripslashes($filas["b"]);
echo "
Búsqueda C ";
echo stripslashes($filas["c"]);
echo "

";
}
?>


Fuente: http://www.hucreative.com/php/php3.html

0 comentarios: