PHP - Agregar filtros a resultados de buscador (Duda/Problema)

 
Vista:
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Agregar filtros a resultados de buscador (Duda/Problema)

Publicado por Agustin (6 intervenciones) el 11/03/2019 02:55:52
Hola como andan.
Mi problema es el siguiente, estoy queriendo agregar un filtrado a los resultados que obtengo de mi buscador, pero el navegador arroja el siguiente error cuando filtro los resultados:

Error:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\Empleos\empleos\resultados.php on line 56

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\Empleos\empleos\resultados.php on line 57

El código del filtro y buscador es el siguiente:

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php require_once('conexion.php');
 
$menu='resultados';
 
//$_SESSION['paginacion']=0;
 
///////////////VARIABLES DE CONSULTA//////////////////
$where="";
 
///////////////BOTON DE BUSQUEDA/////////////////////
 
if (isset($_POST['buscar'])){
 $categoria=$_POST['categoria'];
 $puesto=$_POST['puesto'];
 
 
 
 
  if (empty($_POST['puesto'])) {
    $where="categoria='".$categoria."'";
  }
 
  else if (empty($_POST['categoria'])) {
 
    $where="puesto='".$puesto."'";
 
  }
 
  else {
 
    $where="categoria='".$categoria."' and puesto='".$puesto."'";
 
  }
 
}
 
 
$cadena=trim($_GET['buscar']);
$consulta='';
$partes=explode(' ',$cadena);
$cantidad=count($partes);
 
for ($i=0; $i < $cantidad; $i++) {
  $consulta.= 'ciudad LIKE '.formatearcadena('%'.$partes[$i].'%','text').' AND ';
}
 
 
$consulta=substr($consulta,0,-4);
 
 
 
 
//Seleccionar tabla m_posts
$accion_post="SELECT * FROM m_posts WHERE $consulta $where ORDER BY visitas DESC";
$consulta_post=mysqli_query($conexion,$accion_post);
$datos_post=mysqli_fetch_assoc($consulta_post);
$cantidad_post=mysqli_num_rows($consulta_post);
 
 
?>

Desde ya muchisimas gracias. Saludos
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Agregar filtros a resultados de buscador (Duda/Problema)

Publicado por joel (1269 intervenciones) el 11/03/2019 08:16:06
Hola Agustin, el problema, es que tu consulta mysqli_query() devuelve false... esto puede ser por dos cosas...
1.- no hay ningún registro que coincida
2.- hay un error en la consulta

Una manera sencilla de controlarlo es...
1
2
3
4
5
6
7
8
$consulta_post=mysqli_query($conexion,$accion_post);
if($consulta)
{
    $datos_post=mysqli_fetch_assoc($consulta_post);
    $cantidad_post=mysqli_num_rows($consulta_post);
}else{
    echo "No hay resultados";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Agregar filtros a resultados de buscador (Duda/Problema)

Publicado por Agustin (6 intervenciones) el 11/03/2019 16:49:47
Aún asi continua sin filtrar los resultados :(
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 joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Agregar filtros a resultados de buscador (Duda/Problema)

Publicado por joel (1269 intervenciones) el 11/03/2019 17:59:45
Has revisado que no tenga ningún error, y que devuelva resultados?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

Agregar filtros a resultados de buscador (Duda/Problema)

Publicado por Agustin (6 intervenciones) el 11/03/2019 18:39:54
Sisi, el buscador funciona bien y funciona de la siguiente manera:
En el index tengo un apartado buscador de "ciudades" con metodo get, que arroja resultados en "resultados.php" (la funcion de resultados.php es la que puse arriba). Pero a la hora de seguir filtrando los resultados con "$categoria y $puesto" es que me sigue arrojando el error.
Que otro metodo hay para filtrar la busqueda?

Gracias por las respuestas Joel
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 italo_pm
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Agregar filtros a resultados de buscador (Duda/Problema)

Publicado por italo_pm (193 intervenciones) el 13/03/2019 01:55:14
Hola,

dale un nombre distinto a esto: (metodos distintos, distintos nombres)

1
2
3
if (isset($_POST['buscar']))
 
$cadena=trim($_GET['buscar']

antes de ejecutar la query, has el echo de $accion_post en los 3 casos (solo categoria, solo puesto, los dos) para saber como escribe la consulta y si ahi hay algun error.

1
$accion_post="SELECT * FROM m_posts WHERE $consulta $where ORDER BY visitas DESC";

1
echo $accion_post;

salud2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar