Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/08/2011, 17:02
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Buscador php con varios criterios no funciona

Hola "GatorV", gracias nuevamente por tu respuesta.

Esta vez al indicarmelo más gráficamente me ha quedado muchos más claro y me ha servido para construir un nuevo código sabiendo que lo que hacia lo estaba haciendo correctamente (Si salie error sabía que no se trataba de esa parte del código).

No se si es un código como para tomar ejemplo, pero lo expongo por si a alguien le hace papel:

Código PHP:
//Hago la consulta a la BD e indico la relación entre campos
$sqlBuscar "SELECT * FROM profesionales, provincia, poblacion WHERE profesionales.provprof = provincia.idprovincia AND profesionales.pobprof = poblacion.idpoblacion AND profesionales.cp = poblacion.postal";
// verifico que el formulario halla sido enviado
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar')
// #IF 1 (abro)
    
if (intval($_GET['provincia']) > 0
    { 
// #IF 2 (abro)
        
$sqlBuscar .= " AND profesionales.provprof= '" intval($_GET['provincia']) . "'";
    } 
// #IF 2 (Cierro)
    
if (intval($_GET['poblaciones']) > 0
    { 
// #IF 3 (abro)
        
$sqlBuscar .= " AND profesionales.pobprof='"intval($_GET['poblaciones'])."'";
    } 
// #IF 3 (Cierro)
    
if (isset($_GET['frase'])) 
    {  
// #IF 4 (abro)
        
$sqlBuscar .= " AND profesionales.nombreempresa LIKE '%" $_GET['frase'] . "%' "
    }  
// #IF 4 (Cierro)
    
if (isset($_GET['cp'])) 
    { 
// #IF 5 (abro)
        
$sqlBuscar .= " AND profesionales.cp LIKE '%" $_GET['cp'] . "%' "
    } 
// #IF 5 (Cierro)
    //Desde aquí empieza el código para mostrar un mensaje cuando no hayan registros en la consulta.
    
$resultado=mysql_query($sqlBuscar) or die (mysql_error()); 
    if (
mysql_num_rows($resultado)== 0
    { 
// #IF 6 (abro)
        
echo "No disponemos de registros con esos criterios de búsqueda."
    }
// #IF 6 (Cierro)
    //aquí finaliza el script de no hay registros.
}// #IF 1 (Cierro)
$sqlBuscar .= " ORDER BY profesionales.fechaingreso  ASC "// Indico el orden a seguir por el listado
$tabla mysql_query($sqlBuscar);
        while(
$row mysql_fetch_array($tabla))
        { 
// Empieza la repetición 
Este código busca por 4 criterios: Palabra o Frase, provincia, población y código postal. Se puede buscar por separado, es decir que ningún criterio es dependiente de otro, es decir si solo pongo una palabra en el input "frase", mostrará todos los registros que contengan esa palabra independientemente si son de Alicante o Valencia....

Por último volver a agradecer tu ayuda " GatorV".

Un saludo.