Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/06/2010, 15:54
Avatar de cesarpunk
cesarpunk
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: ayuda, sentencia sql con variables vaciass

Pero no te bastaría con concatenar un WHERE nombre='Alex' AND edad='12' si son 2 valores es fácil determinar... ahora si hay muchos más campos vacíos vas a tener que hacer un bucle que te compruebe todas las posibilidades e ir dejando o completando espacios vacíos en el query y sobre todo poniendo WHERE y AND en los casos que sean necesarios, quiere decir que también puedes usar un Switch Case... te dejo un ejemplo:

Código PHP:
<?php
$campo1_ind
='';
$campo2_ind='';
$campo3_ind='';
$campo4_ind='';
$n 5;

for(
$x=1;$x<$n;$x++){
    switch (
$x) {
    case 
1:
        if(!empty(
$campo1)){
            
$campo1_ind=' WHERE ';
            
$querycampo1="parte query 1";

        }
    break;
    case 
2:
        if(!empty(
$campo2)){
            if(
$campo1_ind==' WHERE '){
                
$campo2_ind=' AND ';
            }
            else{
                
$campo2_ind=' WHERE ';
            }
            
$querycampo2=" parte query 2";
        }
   break;
    case 
3:
        if(!empty(
$campo3)){
            if(
$campo1_ind==' WHERE ' || $campo2_ind==' WHERE '){
                
$campo3_ind=' AND ';
            }
            else{
                
$campo3_ind=' WHERE ';
            }
            
$querycampo3=" parte query 3";
        }
    break;
    case 
4:
        
/*....*/        
    
break;
    }
}
?>
Al final concatenas las variables $querycampoX con tu query principal.... si hay otra forma más óptima.... bienvenida sea
__________________
Quitenme la vida pero no la bebida.