Hola a todos!.
Busca vuestra ayuda, ya que llevo mucho tiempo dando vueltas a este tema, pero después de mucho buscar y leer, sigo sin ser capaz de aclararme.
Quiero hacer un buscador para que busque en una base de datos. Hasta ahí fácil.
El buscador es un formulario que consta de tres campos diferentes en los que se puede introducir información, de manera que actúen cómo filtros.
El primer campo es un input de texto, el segundo una lista de selección en la que se pueden marcar varias opciones, y el tercero es un check box.
Con php me conecto a la base de datos, he hecho una consulta SQL para cada campo, y cada una de ellas por separado funciona bien. Buscan lo que quiero, y consigo mostrar los resultados.
Mi problema es que no sé cómo hacer para que ésas consultas funcionen de manera conjunta.
Básicamente lo que quiero es que funcione como la barra de filtros de la izquierda de eBay. Es decir si el campo está vacío, que lo ignore, si está lleno que busque, y que haga lo mismo con los otros dos, mostrando al final los resultados de 1, 2 o 3 consultas, dependiendo de la selección realizada por el usuario.
No sé si me he explicado muy bien. Si no está claro decídmelo e intento hacerlo mejor,¿ok? .
Aquí os dejo el código php que tengo, aunque sólo está una de las consultas, ya que no se qué hacer con las otras.
Gracias de antemano, ya que sólo intentar entender ésto lo merece.
Un saludo!
Busca vuestra ayuda, ya que llevo mucho tiempo dando vueltas a este tema, pero después de mucho buscar y leer, sigo sin ser capaz de aclararme.
Quiero hacer un buscador para que busque en una base de datos. Hasta ahí fácil.
El buscador es un formulario que consta de tres campos diferentes en los que se puede introducir información, de manera que actúen cómo filtros.
El primer campo es un input de texto, el segundo una lista de selección en la que se pueden marcar varias opciones, y el tercero es un check box.
Con php me conecto a la base de datos, he hecho una consulta SQL para cada campo, y cada una de ellas por separado funciona bien. Buscan lo que quiero, y consigo mostrar los resultados.
Mi problema es que no sé cómo hacer para que ésas consultas funcionen de manera conjunta.
Básicamente lo que quiero es que funcione como la barra de filtros de la izquierda de eBay. Es decir si el campo está vacío, que lo ignore, si está lleno que busque, y que haga lo mismo con los otros dos, mostrando al final los resultados de 1, 2 o 3 consultas, dependiendo de la selección realizada por el usuario.
No sé si me he explicado muy bien. Si no está claro decídmelo e intento hacerlo mejor,¿ok? .
Aquí os dejo el código php que tengo, aunque sólo está una de las consultas, ya que no se qué hacer con las otras.
<?php
// leer datos de usuario y contraseña de la base de datos
include("config.php");
// Conexión con el servidor
$enlace = mysql_connect($server, $db_user, $db_pass) or die ("No se ha podido realizar la conexión.".mysql_error());
// Selección de Base de Datos
mysql_select_db($database) or die ("Problemas al seleccionar la base de datos".mysql_error());
//Preparar los textos a buscar,que es lo que pone en el formulario,que es quién llama a la consulta.
$busqueda=$_GET['txt_nombre'];
//Si no se introduce término para buscar, sale un mensajito.
if (empty($busqueda))
{
echo "Debes introducir un ingrediente para buscar.";
}
//Búsqueda.
$consulta=mysql_query("SELECT inci,inndci,fe,iupac,funcion,comentarios FROM ingredientes WHERE MATCH (inci,inndci,fe) AGAINST ('%$busqueda*'IN BOOLEAN MODE)",$enlace) or die("No se ha podido realizar la consulta".mysql_error());
//Calcular la cantidad de resultados, si no hay, un mensaje.
$totalrows=mysql_num_rows($consulta);
if (empty($totalrows))
{
echo "No se han encontrado resultados al buscar <strong>$busqueda</strong>.<br> <br>Comprueba si está bién escrito e inténtalo de nuevo.";
}
//Mostrar los resultados.
while ($reg=mysql_fetch_array($consulta))
{
echo "<br>";
echo "Denominación Inci:".$reg['inci']."<br>";
echo "Denominación Inn (dci):".$reg['inndci']."<br>";
echo "Denominación Fe:".$reg['fe']."<br>";
echo "Denominación Iupac:".$reg['iupac']."<br>";
echo "Función:".$reg['funcion']."<br>";
echo "Algo más:".$reg['comentarios']."<br>";
echo "<br>";
echo "<hr>";
}
?>Gracias de antemano, ya que sólo intentar entender ésto lo merece.
Un saludo!