Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/09/2015, 03:48
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años
Puntos: 5
Variable no definida en una busqueda filtrada

Hola amigos/as, que tal, a ver si me pueden ayudar con esto:

Tengo un codigo , osea un buscador, yo le meto una palabra en el input y me busca en la bbdd y con dos filtros en forma de checkbox puedo filtrar dichas busquedas.

Y lo hace bien pero ... me da un mensaje de aviso que no logro saber como quitar.
dicho de otra forma si busco un producto ejem: "coches", y sabiendo que los dos filtros que tengo son : novedad" y "oferta", pues si elijo "oferta", me muestra la lista de resultados correspondiente.

Pero me sale un mensaje como que la variable de "novedad", osea el filtro no seleccionado, esta "indefinided".

Y no se como solucionar esto:

Lo pondré con código:


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



Código PHP:
Ver original
  1. class ClaseDatosBusqueda
  2.        
  3.         {          
  4.             public function DatosBusqueda($nombre_tabla, $buscar, $filtro_novedad, $filtro_oferta)
  5.            
  6.                 {                                      
  7.               echo $sql = "SELECT * FROM " . $nombre_tabla . "
  8.                    
  9.                     WHERE
  10.                    
  11.                     (titulo like '%".$buscar."%' OR caracteristicas LIKE '%".$buscar."%')
  12.                    
  13.                     AND
  14.  
  15.                     estado='".$filtro_novedad."' OR
  16.                    
  17.                     estado='".$filtro_oferta."'
  18.  
  19.                     ORDER BY visitas DESC";
  20.                    
  21.                    
  22.                     //$con = $this->ConectarBbdd();
  23.                    
  24.                     $con = new Conectar();             
  25.                     $link=$con->ConectarBbdd();
  26.                    
  27.                     $res = mysqli_query($link,$sql) or die ('Lo siento pero no selecciona los datos' . mysqli_error($link));
  28.                     return $res;   
  29.                 }
  30.         }
  31.                                
  32.  
  33.     $llamada_ClaseDatosBusqueda = new ClaseDatosBusqueda();
  34.  
  35.  
  36.  
  37.  
  38.  
  39.     $buscar = strtolower($_POST['buscar']);
  40.    
  41.     $nombre_tabla = strtolower($_POST['nombre_tabla']);
  42.  
  43.  
  44.  
  45. if (isset($filtro_novedad)) {
  46.     $filtro_novedad = strtolower($_POST['novedad']);
  47. } else {
  48.     $filtro_oferta = strtolower($_POST['oferta']);
  49. }


Y el mensaje que me da es:
Notice Undefined variable filtro_novedad in C:\xampp\htdocs\buscador.php on line 122
SELECT * FROM tienda_galeria_1 WHERE (titulo like '%coche%' OR caracteristicas LIKE '%blablabla%') AND estado='' OR estado='oferta' ORDER BY visitas DESC