Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/08/2014, 15:19
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: consulta filtrada en bd no muestra nada

Vamos a ver:
1) Creas la sentencia de consulta.
2) Abres la ocnexión a la base.
3) Ejecutas la consulta.
4) Imprimes el resultado...

todo OK excepto un par de nimiedades:
1) No estás verificando en ese script si algunos de los valores llego nulo o es una cadena vacía.
2) No estás verificando si la consulta devolvió registros.
3) No estás probando si la query armada devuelve realmente algún dato según las condiciones ingresadas.

la query en si está básicamente bien:
Código SQL:
Ver original
  1. SELECT *
  2. FROM tabla
  3. WHERE provincia = '$provincia'
  4.     AND estudios = '$estudios'
  5.     AND trabajo = '$trabajo'
  6.     AND experiencia = '$experiencia'
Por lo que si no devuelve registros, es porque ninguno de ellos se cumple al mismo tinepo. No te olvides que AND hace que la siguiente condición sea mandatoria, y con que al menos uno de ellos no se verifique, la consulta devolverá cero registros, pero tampoco devolverá errores.

Al menos deberías debuggear, como te dice @paketetrueke:
Código PHP:
Ver original
  1. <?php
  2. $host="localhost";
  3. $usuario="root";
  4. $pass="root";
  5.  
  6. $provincia=$_POST['provincia'];
  7. $estudios=$_POST['estudios'];
  8. $trabajo=$_POST['trabajox'];
  9. $experiencia=$_POST['experiencia'];
  10. if($provincia!="" AND $estudios!="" AND $trabajo!="" AND $experiencia!="")
  11. {
  12.   $sentencia="SELECT * FROM tabla WHERE provincia = '$provincia' and estudios =   '$estudios'and trabajo = '$trabajo' and experiencia = '$experiencia'";
  13.  
  14.   // VErificando sentencia creada
  15.   print $sentencia;
  16.   $c=mysql_connect($host,$usuario) or die("Ha sido imposible conectar con la base de datos");
  17.   mysql_select_db("desempleados", $c);
  18.   $resultado=mysql_query("$sentencia",$c)or die(mysql_error());
  19.   if(mysql_num_rows($resultado)>0)
  20.   {
  21.   print "<table align=center border=2>";
  22.   print "<tr><td>NOMBRE Y APELLIDOS</td><td>AÑO NAC.</td><td>ESTUDIOS</td>  <td>EXPERIENCIA</td><td>TELÉFONO</td></tr>";
  23.   while($registro = mysql_fetch_row($resultado))
  24.   {
  25.   print "<tr>";
  26.   foreach($registro as $clave)
  27.   {
  28.   print "<td>".$clave."</td>";
  29.   }
  30.   }
  31.   print "</table>";
  32.   }
  33.   else{echo "La consulta no devolvio registros.";}
  34. }
  35. else{echo "Al menos uno de los datos no es válido.";}
  36. ?>
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)