Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/05/2011, 05:23
portela85
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: Busqueda con multiples campos

muchas gracias !
justo ahora lo acabo de resolver gracias al sql. lo que he hecho ha sido incluir en las select una opción antes del while que esté vacía aparentemente pero con el valor '%'.

Código:
    public function obtenerGruposTODOS(){
	$query = "SELECT grupo FROM grupos ";
	$consulta = new Consulta($query);
			    
	$grupos = "<select name='".group."'>\n";
	$grupos .= " <option value='%'></option>";
	while($fila=$consulta->obtener_fila()){
	    //concatenamos y le damos el value a la opcion
	    $grupos .= " <option value='".$fila['grupo']."'>".$fila['grupo']."</option>";
	}
	//concatenamos y cerramos el select
	$grupos .= "</select>\n";
De esta manera si se elige esta opción, en la sentecia sql aparecerá LIKE '%' en el caso de que se elija esta opción o LIKE 'valorseleccionado'

Código:
SELECT trabajos.idtrabajo AS idtrabajo, trabajos.indi AS indi, trabajos.grupo AS grupo, clientes.cliente AS cliente, trabajos.ot AS ot, proyectos.proyecto AS proyecto, interlocutores.interlocutor AS interlocutor, trabajos.f_inicio AS f_inicio, trabajos.f_fin AS f_fin, trabajos.descripcion AS descripcion, trabajos.cantidad AS cantidad, trabajos.escalado AS escalado, trabajos.descripcionescalado AS descripcionescalado, trabajos.tiempo_real AS tiempo_real, trabajos.preciototal AS preciototal, trabajos.pago_actuacion AS pago_actuacion, trabajos.nocturna AS nocturna , trabajos.comentarios AS comentarios, status.statu AS statu, trabajos.descripcionstatus AS descripcionstatus, actividades.actividad AS actividad, tallas.talla AS talla, tallas.tiempo AS tiempo, tallas.precio AS precio, consultores.consultor AS consultor, trabajos.pagohoras AS pagohoras, trabajos.horas AS horas
FROM (((interlocutores INNER JOIN ((clientes INNER JOIN trabajos ON clientes.Id_cliente = trabajos.cliente) INNER JOIN proyectos ON trabajos.proyecto = proyectos.Id_proyecto) ON interlocutores.Id_inerlocutor = trabajos.interlocutor) INNER JOIN consultores ON trabajos.consultores_Ident_consultor = consultores.Ident_consultor) INNER JOIN status ON trabajos.status_idstatus = status.idstatus) INNER JOIN ((actividades_tallas INNER JOIN actividades ON actividades_tallas.idactividad = actividades.Id_actividad) INNER JOIN tallas ON actividades_tallas.idtalla = tallas.id_talla) ON trabajos.idactiv_tall = actividades_tallas.idacttal
WHERE (((trabajos.f_inicio)>='$fechainicio' And (trabajos.f_inicio)<='$fechafin' AND (trabajos.grupo) LIKE '$grupo' AND (proyectos.proyecto) LIKE '$proyecto' AND (clientes.cliente) LIKE '$cliente'));