Ver Mensaje Individual
  #12 (permalink)  
Antiguo 19/04/2011, 05:23
tokero
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
De acuerdo Respuesta: Buscador en PHP y MySQL

He conseguido solucionar la papeleta...

En este tema, he encontrado una solución para conseguir ir añadiendo filtros a una consulta MySQL sin necesidad de preocuparse por los "AND" y comprobar si es la primera vez que se añade...

Postéo el código de mi solución por si a alguien le puede interesar.
Código PHP:
// Recogida de datos enviados del formulario de busqueda.
if(isset($_POST['as_nom_busc'])){$nom_busc $_POST['as_nom_busc'];}
if(isset(
$_POST['as_ape_busc'])){$ape_busc $_POST['as_ape_busc'];}
if(isset(
$_POST['as_pas_busc'])){$pas_busc $_POST['as_pas_busc'];}

// Construccion de los filtros para la sentencia SQL.
$condicion "WHERE 1 = 1";
if(
$nom_busc != ""){
    
$condicion .= " AND as_nombre = '".$nom_busc."'";
}
if(
$ape_busc != ""){
    
$condicion .= " AND as_apellidos = '".$ape_busc."'";
}
if(
$pas_busc != ""){
    
$query_pa "SELECT cod_pais, pa_nombre FROM pais WHERE pa_nombre = '$pas_busc'";
    
$result_pa mysql_query($query_pa) or die(mysql_error());
    
$data_pa mysql_fetch_array($result_pa);
    
$condicion .= " AND as_pais = '".$data_pa['cod_pais']."'";
}
            
// Sentencia SQL añadiendole los posible filtros obtenidos.
$query_busqueda_as "SELECT cod_asistente, as_nombre, as_apellidos, as_direccion, as_pais, as_tlf, as_email, as_foto, as_notas FROM asistente $condicion";
$result_busqueda_as mysql_query($query_busqueda_as) or die(mysql_error());

while(
$row_busqueda_as mysql_fetch_array($result_busqueda_as)){
// Muestra de datos.

Por lo menos he conseguido lo que estaba buscando, no se si será muy correcto o no, pero funciona.

Muchas gracias por vuestra ayuda!

Última edición por tokero; 19/04/2011 a las 05:26 Razón: Se desmontaba el codigo PHP.