Foros del Web » Programando para Internet » PHP »

seleccion multiple para busqueda

Estas en el tema de seleccion multiple para busqueda en el foro de PHP en Foros del Web. Estimados, necesito saber como puedo hacer para realizar una busqueda en una base de datos, pero seleccionando datos de dos columnas. me explico con un ...
  #1 (permalink)  
Antiguo 22/02/2012, 14:22
 
Fecha de Ingreso: noviembre-2011
Mensajes: 121
Antigüedad: 12 años, 5 meses
Puntos: 0
seleccion multiple para busqueda

Estimados, necesito saber como puedo hacer para realizar una busqueda en una base de datos, pero seleccionando datos de dos columnas.

me explico con un ejemplo:
1° seleccion: proyecto (columna "cod_proy"), select dinamico
2° seleccion: estado (puede ser bueno, malo o regular, en la columna "estado"), select con opciones fijas

entonces si yo elijo el proyecto "2-13" con estado "bueno", debe mostrarme solo los certificados buenos del proyecto 2-13...

No se como proceder con el codigo ni como solicitar a la ddbb lo que necesito...

ayuda por favor!!!!
  #2 (permalink)  
Antiguo 22/02/2012, 15:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: seleccion multiple para busqueda

Pues imagino que ya sabes que si lo haces con slects, éstos deben ser de tipo múltiple para que puedan elegir más de una opción, y recibirás los datos en php como si fuera un array.

En php harías la consulta más o menos así:

Código PHP:
Ver original
  1. $codproy=implode(",",$_POST['codproy']);//recojes los valores de codproy y los concatenas con comas, quedado por ejemplo: 1,2,8
  2. //para valores no numéricos (caracteres) debes agregar apostrofes:
  3. foreach($_POST['estado'] as $i =>$val)//recorres los valores recogidos en estado
  4.     $estado[]="'$val'";//le colocas los apostrofes
  5. $estado=implode(",",$estado);//los unes con comas.
  6.  
  7. $sql="select * from mi tabla where cod_proy IN($codproy) and estado IN($estado)";

Así, tu consulta quedaría por ejemplo:

$sql="select * from mi tabla where cod_proy IN(1,2,8) and estado IN('bueno','regular')";
  #3 (permalink)  
Antiguo 22/02/2012, 17:09
 
Fecha de Ingreso: noviembre-2011
Mensajes: 121
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: seleccion multiple para busqueda

muchas gracias, voy a probar que onda...

Etiquetas: seleccion, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:44.