PHP - Como añadir dos filtros distintos a un formulario

 
Vista:

Como añadir dos filtros distintos a un formulario

Publicado por Juliana (2 intervenciones) el 05/11/2019 03:05:56
Hola! Hice un filtrador para que busque los datos cargados que sean igual a lo ingresado en un imput tipo text. Quise añadir otro filtrador, pero lo que hace es buscar solamente si hay algo escrito en los dos input. Cómo lo puedo solucionar? Gracias.
Aclaro que con un solo filtro si anda.

HTML:
1
2
3
<input type="text" name="prodBuscarNombre" value="<?=$prodBuscarNombre?>">
			<br>
		<input type="text" name="prodBuscarMaterial" value="<?=$prodBuscarMaterial?>">

PHP:
1
2
3
$prodBuscarNombre=(!empty($_GET['prodBuscarNombre']))?$_GET['prodBuscarNombre']: '';
$prodBuscarMaterial=(!empty($_GET['prodBuscarMaterial']))?$_GET['prodBuscarMaterial']: '';
$sql = 'SELECT id_mueble,descripcion_mueble,precio_base,ma.descripcion_material AS tipo_material FROM mueble m JOIN material ma ON m.tipo_material = ma.id_material WHERE m.descripcion_mueble LIKE "%'.$prodBuscarNombre.'%" OR ma.descripcion_material LIKE "%'.$prodBuscarMaterial.'%" ';
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 Lawliet
Val: 978
Bronce
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como añadir dos filtros distintos a un formulario

Publicado por Lawliet (351 intervenciones) el 05/11/2019 03:40:57
Buenas noches!!!

Es importante mencionar que por como tienes tu consulta con un JOIN, tus condiciones solamente funcionaran cuando la condición m.descripcion_mueble LIKE "%'.$prodBuscarNombre.'%" o bien la condición ma.descripcion_material LIKE "%'.$prodBuscarMaterial.'%" ' cumpla con el JOIN. En base a eso, los resultados de tu consulta deberían mostrarse según la tabla siguiente.

Captura

En tu condición tienes un OR el cual es lo correcto si quieres que filtre sin importar donde se encuentra la descripción, sin embargo, al usar el JOIN estas colocando un AND implícitamente ya que la consulta busca que el registro filtrado cumpla con la condición ON del JOIN.

Te recomendaría que primero revises ese JOIN antes de realizar el filtrado o bien, puedes colocar la información de tus tablas para poder ayudarte a armar la consulta.

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Suerte!
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

Como añadir dos filtros distintos a un formulario

Publicado por Juliana (2 intervenciones) el 05/11/2019 04:01:59
Hola, gracias por responderme!! ¿O sea que por el join no se puede tener 2 filtradores? Creo que necesito si o si el join porque estoy mostrando datos de otra tabla.

Adjunto mis tablas:
1
2
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 Lawliet
Val: 978
Bronce
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como añadir dos filtros distintos a un formulario

Publicado por Lawliet (351 intervenciones) el 05/11/2019 04:34:31
Imagino que tipo_material de tu tabla mueble es una llave foránea de tu tabla material, correcto? O cómo es que realizas la relación entre ambas tablas para poder armar la consulta... Jeje
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