PHP - filtrar una busqueda con chek box

   
Vista:

filtrar una busqueda con chek box

Publicado por Sam (138 intervenciones) el 16/09/2015 17:01:48
Hola amigos a ver si me pueden ayudar con esto.
Estoy haciendo un buscador que metiendo palabras en un input me busca los resultados buscando dicha palabra en el titulo y caracteristicas de los productos en la bbdd.

el asunto es que me gustaria que filtrara la busqueda segun la palabra introducida + marcando un checkbox que indique oferta, stock, agotado etc... lo que sea.

pero no me funciona lo que tengo hecho , si pudieran ayudarme les estaria muy agradecido:




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<form action="" method="" name="formulario_buscar" id="formulario_buscar">
 
	<input type="text" name="buscar" id="buscar" class="input_buscador"  placeholder="Buscar...">
 
	<br>
 
	<select name="el_nombre_tabla" id="nombre_tabla">
 
		<option value="tienda_galeria_1">tienda galería 1</option>
		<option value="tienda_galeria_2">tienda galería 2</option>
 
	</select>
 
	<br>
 
	<input type="checkbox" name="oferta" value="oferta" id="oferta"> Oferta<br>
 
	<input type="submit" name="lupa" id="lupa" value="">
</form>



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class ClaseDatosBusqueda
{
	public function DatosBusqueda($nombre_tabla, $buscar, $filtro_oferta)
 
		{
			$sql = "SELECT * FROM " . $nombre_tabla . "

			WHERE 

			titulo like '%".$buscar."%' OR

			caracteristicas LIKE '%".$buscar."%' AND

			estado LIKE '".$filtro_oferta."'

			ORDER BY visitas DESC";
 
 
			$con = new Conectar();
			$link=$con->ConectarBbdd();
 
			$res = mysqli_query($link,$sql) or die ('Lo siento pero no selecciona los datos' . mysqli_error($link));
			return $res;
		}
}
 
 
$llamada_ClaseDatosBusqueda = new ClaseDatosBusqueda();
 
$buscar = strtolower($_POST['buscar']);
 
$nombre_tabla = strtolower($_POST['nombre_tabla']);
 
$filtro_oferta = strtolower($_POST['oferta']);
 
 
 
$res = $llamada_ClaseDatosBusqueda->DatosBusqueda($nombre_tabla, $buscar, $filtro_oferta);
 
$total_resultados = mysqli_num_rows($res);


gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

filtrar una busqueda con chek box

Publicado por xve (5512 intervenciones) el 16/09/2015 21:40:01
Hola Sam, exactamente que es lo que no te funciona? la busqueda? el checkbox? si nos puedes dar mas detalle...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

filtrar una busqueda con chek box

Publicado por sam (138 intervenciones) el 17/09/2015 08:35:00
Hola xve, mira te explico:
Lo de meter una palabra en el input funciona bien , me salen todos los resultados relacionados con la palabra metida.
Lo que no funciona es el checkbox.
Te lo explico con un ejemplo:
Si en la base de datos hay 20 productos y yo meto una palabra en el buscador, por ejemplo "coches", y me sale un resultado de 10 resultados encontrados, si luego de esos 10 quuero filtrar con el checkbox para que me muestre los de color rojo, e imaginate que coches rojos solo hay 3 de entre esos 10 pues no me los muestra. Me sigue mostrando esos mismos 10 resultados.
Help please
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

filtrar una busqueda con chek box

Publicado por xve (5512 intervenciones) el 17/09/2015 12:19:14
Gracias por comentarlo Sam...

Entiendo que el problema esta entonces en el select de la base de datos verdad? tendrias que añadir el valor WHERE color="rojo" en tu consulta, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

filtrar una busqueda con chek box

Publicado por Sam (138 intervenciones) el 17/09/2015 17:13:00
Bueno, xve, intuyo que sí, que le problema esta a la hora de realizar la consulta sql.

Supongo que donde te he dicho "como ejemplo", lo de color="rojo", en el codigo que he puesto seria la variable "$filtro_oferta ".

Date cuenta que en el futuro habria mas de un filtro , asi que deduzco que tendria que ampliar la consulta sql.

Pero claro no me funciona ni con un filtro checkbox.


E ahí el problema. :-((
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de rossie

filtrar una busqueda con chek box

Publicado por rossie (31 intervenciones) el 22/07/2016 01:03:45
hola ! Sam pudiste resolver el problema del checkbox ?
Me encuentro en una situación similar mas , quisiera que me compartiras como lo lograste.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de VRM

filtrar una busqueda con chek box

Publicado por VRM (169 intervenciones) el 23/07/2016 12:24:47
Hola Rossie:

Sam no daba suficiente información. Por ejemplo: no pone la estructura de las tablas de la base de datos. Si nos das información de tu problema quizá te podamos ayudar.

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar