Ir al contenido


Foto

[RESUELTO] Problemas al filtrar la consulta MySQL desde un cuadro combinado


  • Por favor identifícate para responder
4 respuestas en este tema

#1 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 11 enero 2010 - 12:11

Hola a todos
En realidad este problema se deriva del otro post, pero decidi hacer uno nuevo

La problematica es la siguiente:
Necesito mostrar un grafico con los resultados de cada indicador en una fecha determinada.
En una parte se muestra el indicador y en dos combos los meses y el año.
El usuario puede navegar por unos botones por cada indicador, al cambiar de indicador actualiza el grafico

El problema esta en que cada vez que se cambia de indicador, se reinician los combos, en lugar de quedarse con el valor que tienen, se ponen con el valor por defecto

Lo que quiero es que cuando cambie de indicador, se mantenga el mes y el año seleccionados en los combos

Los Indicadores los obtengo de una consulta MySQL que filtro con el mes y el año para que me visualice el grafico correspondiente

Espero una solucion, o si no, otra idea de como hacerlo mejor

  • 0

#2 Héctor Randolph

Héctor Randolph

    501st Legion

  • Moderadores
  • PipPipPip
  • 664 mensajes
  • LocationMéxico

Escrito 11 enero 2010 - 01:52

Hola JoAnCa

Para conservar los valores seleccionados en los combos entre llamados, lo que puedes hacer es crear variables de sesión. Esto dependerá de cómo trabajas tus scripts. Sin embargo, es probable que puedas solucionarlo sin necesidad de crear variables de sesión.Te voy a poner un ejemplo más simple:

Suponiendo que tienes un formulario y un combo de nombre Mes, puedes enviar tus variables con el método POST, entonces desde el script PHP las recuperas y tomas esos valores para mostrarlos en el combo la próxima vez que se cargue la página.



php
  1. <?php
  2. $listaMes = array(1=> 'Enero', 2=> 'Febrero', 3=> 'Marzo', 4=> 'Abril', 5=> 'Mayo',
  3. 6=> 'Junio', 7=> 'Julio', 8=> 'Agosto', 9=> 'Septiembre', 10=> 'Octubre', 11=> 'Noviembre', 12=> 'Diciembre');
  4.  
  5. $default=date('n');
  6.  
  7. $id_sel=isset($_POST['Mes'])?$_POST['Mes']:$default; // se toma el valor seleccionado en el combo, si no existe se toma el valor por default
  8.  
  9. echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'">';// Se llama nuevamente al mismo script
  10. echo '<SELECT name="Mes">';
  11.  
  12. foreach ($listaMes as $valor => $elemento)
  13. {
  14.   $sel=($id_sel==$valor?' SELECTED=selected ':' ');
  15.   echo '<OPTION value='.$valor.$sel.'>'.$elemento.'</OPTION>';
  16. }
  17. echo '</SELECT>';
  18. echo "<INPUT TYPE='submit'>";
  19. echo '</form>';
  20. ?>



La primera vez que se carga la página, el combo toma el valor por default. Después de seleccionar un mes cualquiera se envía la página con el botón y entonces la página se carga nuevamente pero esta vez el combo no muestra el valor por default sino el valor previamente seleccionado.

Saludos



  • 0

#3 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 11 enero 2010 - 04:39

Muchas gracias Hector, lo probaré y despues te comento
  • 0

#4 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 12 enero 2010 - 07:24

HEctor, lo probe pero no funcionó, me sigue reiniciando el combo cuando me cambio de registro, tal vez tenga que probar con las variables de sesión si me explicas como
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 enero 2010 - 07:50

Tal vez esto te ayude ;)

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.