lo que he hecho es lo siguiente:
a cada lista desplegable le he dado una opcion vacia con valor 1, entonces, lo que he pensado es: luego de recibir las variables construyo una cadena de condicionales que validan si cada variable recibida equivale a 1 o tiene valor de consulta para entonces proceder.
este es el código que he hecho
Código PHP:
Ver original
<?php //recibimos las variables $mes = $_POST['mes']; $cliente = $_POST['cliente']; $regional = $_POST['regional']; $proceso = $_POST['proceso']; $tipo_reporte = $_POST['tipo_reporte']; $medio = $_POST['medio']; $clasificacion = $_POST['clasificacion']; $reincidentes = $_POST['reincidentes']; $estado = $_POST['estado']; $tipo_accion = $_POST['tipo_accion']; if ($mes == '1' ) {} else { // hacemos la consulta en la base de datos $consulta = "SELECT * FROM OM_Oportunidad WHERE MONTH(fecha) ='$mes'"; if ($numero_filas == '0' ) { echo "En el momento No existen OPM registradas para el mes indicado, por favor intente de nuevo"; } else { //Fecha Inicial $fecha_inicial = $res['2']; $dia_inicial=$explotado[2]; $mes_inicial=$explotado[1]; $anno_inicial=$explotado[0];$meses = array("Enero ","Febrero ","Marzo ","Abril ","Mayo ","Junio ","Julio ","Agosto ","Septiembre ","Octubre ","Noviembre ","Diciembre ");$mact=$meses[$mes-1];$fecha_inicio=$mact; $fecha_inicio.=$dia_inicial; $fecha_inicio.=" de "; $fecha_inicio.=$anno_inicial; //Fecha Entrega Plan de Accion $fecha_entrega = $res['12']; $dia_entrega=$explotado2[2]; $mes_entrega=$explotado2[1]; $anno_entrega=$explotado2[0];$meses2 = array("Enero ","Febrero ","Marzo ","Abril ","Mayo ","Junio ","Julio ","Agosto ","Septiembre ","Octubre ","Noviembre ","Diciembre ");$ment=$meses2[$mes-1];$fecha_entrega=$ment; $fecha_entrega.=$dia_entrega; $fecha_entrega.=" de "; $fecha_entrega.=$anno_entrega;echo " "; } echo " <table border='1'> <tbody> <tr style='background: #ccc; font-weight: bold; text-align: center;'> <td>Fecha</td> <td>Clasificación de la OPM</td> <td>Cliente</td> <td>Regional</td> <td>Proceso</td> <td>Tipo de Reporte</td> <td>Medio</td> <td>Reincidentes</td> <td>Descripcion de la OPM</td> <td>Estado</td> <td>Tipo de Acción</td> <td>Entrega P.A.</td> <td>Tiempo de Respuesta (días)</td> </tr> <tr> <td>".$fecha_inicio."</td> <td>".$res['9']."</td> <td>".$res['1']."</td> <td>".$res['3']."</td> <td>".$res['4']."</td> <td>".$res['5']."</td> <td>".$res['6']."</td> <td>".$res['7']."</td> <td>".$res['8']."</td> <td>".$res['10']."</td> <td>".$res['11']."</td> <td>".$fecha_entrega."</td> <td>".$res['13']."</td> </tr> </tbody> </table> "; } } if ($cliente == '1' ) {} else {// hacemos la consulta en la base de datos $consulta = "SELECT * FROM OM_Oportunidad WHERE idCliente ='$cliente'"; if ($numero_filas == '0' ) { echo "En el momento No existen OPM registradas para el cliente indicado, por favor intente de nuevo"; } else { echo " "; //formateamos las fechas //Fecha Inicial $dia_inicial=$explotado[2]; $mes_inicial=$explotado[1]; $anno_inicial=$explotado[0];$meses = array("Enero ","Febrero ","Marzo ","Abril ","Mayo ","Junio ","Julio ","Agosto ","Septiembre ","Octubre ","Noviembre ","Diciembre ");$mact=$meses[$mes-1];$fecha_inicio=$mact; $fecha_inicio.=$dia_inicial; $fecha_inicio.=" de "; $fecha_inicio.=$anno_inicial; //Fecha Entrega Plan de Accion $dia_entrega=$explotado2[2]; $mes_entrega=$explotado2[1]; $anno_entrega=$explotado2[0];$meses2 = array("Enero ","Febrero ","Marzo ","Abril ","Mayo ","Junio ","Julio ","Agosto ","Septiembre ","Octubre ","Noviembre ","Diciembre ");$ment=$meses2[$mes-1];$fecha_entrega=$ment; $fecha_entrega.=$dia_entrega; $fecha_entrega.=" de "; $fecha_entrega.=$anno_entrega;echo " "; } echo " <table border='1'> <tbody> <tr style='background: #ccc; font-weight: bold; text-align: center;'> <td>Fecha</td> <td>Clasificación de la OPM</td> <td>Cliente</td> <td>Regional</td> <td>Proceso</td> <td>Tipo de Reporte</td> <td>Medio</td> <td>Reincidentes</td> <td>Descripcion de la OPM</td> <td>Estado</td> <td>Tipo de Acción</td> <td>Entrega P.A.</td> <td>Tiempo de Respuesta (días)</td> </tr> <tr> <td>".$fecha_inicio."</td> <td>".$res['9']."</td> <td>".$res['1']."</td> <td>".$res['3']."</td> <td>".$res['4']."</td> <td>".$res['5']."</td> <td>".$res['6']."</td> <td>".$res['7']."</td> <td>".$res['8']."</td> <td>".$res['10']."</td> <td>".$res['11']."</td> <td>".$fecha_entrega."</td> <td>".$res['13']."</td> </tr> </tbody> </table> "; }} if ($regional == '1' ) {} else {// hacemos la consulta en la base de datos $consulta = "SELECT * FROM OM_Oportunidad WHERE regional ='$regional'"; if ($numero_filas == '0' ) { echo "En el momento No existen OPM registradas para la regional indicada, por favor intente de nuevo"; } else { echo " "; //Fecha Inicial $dia_inicial=$explotado[2]; $mes_inicial=$explotado[1]; $anno_inicial=$explotado[0];$meses = array("Enero ","Febrero ","Marzo ","Abril ","Mayo ","Junio ","Julio ","Agosto ","Septiembre ","Octubre ","Noviembre ","Diciembre ");$mact=$meses[$mes-1];$fecha_inicio=$mact; $fecha_inicio.=$dia_inicial; $fecha_inicio.=" de "; $fecha_inicio.=$anno_inicial; //Fecha Entrega Plan de Accion $dia_entrega=$explotado2[2]; $mes_entrega=$explotado2[1]; $anno_entrega=$explotado2[0];$meses2 = array("Enero ","Febrero ","Marzo ","Abril ","Mayo ","Junio ","Julio ","Agosto ","Septiembre ","Octubre ","Noviembre ","Diciembre ");$ment=$meses2[$mes-1];$fecha_entrega=$ment; $fecha_entrega.=$dia_entrega; $fecha_entrega.=" de "; $fecha_entrega.=$anno_entrega;echo " "; } echo " <table border='1'> <tbody> <tr style='background: #ccc; font-weight: bold; text-align: center;'> <td>Fecha</td> <td>Clasificación de la OPM</td> <td>Cliente</td> <td>Regional</td> <td>Proceso</td> <td>Tipo de Reporte</td> <td>Medio</td> <td>Reincidentes</td> <td>Descripcion de la OPM</td> <td>Estado</td> <td>Tipo de Acción</td> <td>Entrega P.A.</td> <td>Tiempo de Respuesta (días)</td> </tr> <tr> <td>".$fecha_inicio."</td> <td>".$res['9']."</td> <td>".$res['1']."</td> <td>".$res['3']."</td> <td>".$res['4']."</td> <td>".$res['5']."</td> <td>".$res['6']."</td> <td>".$res['7']."</td> <td>".$res['8']."</td> <td>".$res['10']."</td> <td>".$res['11']."</td> <td>".$fecha_entrega."</td> <td>".$res['13']."</td> </tr> </tbody> </table> "; }} if ($proceso == '1' ) {echo ' el valor de proceso es vacio';} else {echo ' se puede consultar por proceso';} if ($tipo_reporte == '1' ) {echo ' el valor de tipo reporte es vacio';} else {echo ' se puede consultar por tipo reporte';} if ($medio == '1' ) {echo ' el valor de medio es vacio';} else {echo ' se puede consultar por medio';} if ($clasificacion == '1' ) {echo ' el valor de clasificacion es vacio';} else {echo 'se puede consultar por clasificacion';} if ($reincidentes == '1' ) {echo ' el valor de reincidentes es vacio';} else {echo 'se puede consultar por reincidentes';} if ($estado == '1' ) {echo ' el valor de estadi es vacio';} else {echo 'se puede consultar por estado';} if ($tipo_accion == '1' ) {echo ' el valor de tipo accion es vacio';} else {echo 'se puede consultar por tipo accion';} ?>
Sin embargo lo que pasa es que cuando llega por ejemplo a $regional, me muestra el resultado de la consulta anterior $clientes.
mi pregunta es, cual sería la manera correcta de hacerlo?, pensé en un switch/case pero no le encontré la forma