Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta BD desde select

Estas en el tema de Consulta BD desde select en el foro de PHP en Foros del Web. Hola Gente! Saludos. Tengo una consulta a la BD: Código PHP: $sql  =  mysqli_query ( $con2 ,  "SELECT * FROM registro WHERE usuario='$usuario' AND empresa='$empresa'" );  El valor de las variables las ...
  #1 (permalink)  
Antiguo 28/04/2020, 13:55
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 76
Antigüedad: 8 años, 3 meses
Puntos: 0
Consulta BD desde select

Hola Gente! Saludos.

Tengo una consulta a la BD:

Código PHP:
$sql mysqli_query($con2"SELECT * FROM registro WHERE usuario='$usuario' AND empresa='$empresa'"); 
El valor de las variables las consigo desde un select. Y si tengo los dos valores, obviamente la consulta funciona. Hasta ahí todo bien.

El problema es que también necesito realizar por ejemplo esta consulta: Todas las empresas, no solamente una y por ejemplo, un solo usuario, y viceversa.

Me podrían dar una mano por donde empezar? Necesito realizar varias consultas con isset de por medio? Algo asi?

Gracias
  #2 (permalink)  
Antiguo 28/04/2020, 15:39
 
Fecha de Ingreso: abril-2006
Mensajes: 426
Antigüedad: 14 años, 1 mes
Puntos: 96
Respuesta: Consulta BD desde select

Cita:
Iniciado por agustinpak Ver Mensaje
Hola Gente! Saludos.

Tengo una consulta a la BD:

Código PHP:
$sql mysqli_query($con2"SELECT * FROM registro WHERE usuario='$usuario' AND empresa='$empresa'"); 
El valor de las variables las consigo desde un select. Y si tengo los dos valores, obviamente la consulta funciona. Hasta ahí todo bien.

El problema es que también necesito realizar por ejemplo esta consulta: Todas las empresas, no solamente una y por ejemplo, un solo usuario, y viceversa.

Me podrían dar una mano por donde empezar? Necesito realizar varias consultas con isset de por medio? Algo asi?

Gracias
puedes valerte de un SWITCH, y dependiendo del SWITCH armar tus consultas
algo como esto aunque es valido hacerlo con IF's de cada quien el gusto pero la logica seria la misma
Código PHP:
switch(true){
    case 
$usuario=='' && $empresa!='':
    
$consulta "SELECT * FROM registro WHERE empresa='$empresa'";
    break;
    case 
$usuario!='' && $empresa=='':
    
$consulta "SELECT * FROM registro WHERE usuario='$usuario'";
    break;
    case 
$usuario!='' && $empresa!='':
    
$consulta "SELECT * FROM registro WHERE usuario='$usuario'  AND empresa='$empresa";
    break;
    case 
strpos($usuario,'%')!==false && $empresa!='':
    
$consulta "SELECT * FROM registro WHERE usuario LIKE '$usuario'  AND empresa='$empresa";
    break;
    default
        throw new 
Exception('no tiene criterios de busqueda validos');
}
$sql mysqli_query($con2$consulta); 

y recuerda sanear las variables que estas insertando en tus consultas SQL para asi evites inyeccion de codigo malicioso de parte de personas ajenas
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #3 (permalink)  
Antiguo 28/04/2020, 15:57
 
Fecha de Ingreso: febrero-2012
Ubicación: Cancun
Mensajes: 76
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Consulta BD desde select

Buenísimo. Ni por casualidad pensé en el switch.
Ahora mismo lo implemento.

Muchísimas gracias!



La zona horaria es GMT -6. Ahora son las 12:55.