PHP - Volver a página anterior según valor de un Select

 
Vista:
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por jose (71 intervenciones) el 18/04/2021 20:14:16
Buenas tardes,

El título quizá despiste.


Tengo una página con un select en una página de php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
 
    if(isset($_GET['Regano'])){
 
    ?>
 
    <form name="formulario" method="POST" enctype="multipart/form-data">
                <br>
            Selecciona otro año:
            <select name="ano" onchange="this.form.submit()" >
            <option value="0">Selecciona</option>
 
            <?php
 
              $query = "select DISTINCTROW year(fecha) as year from movimientos";
              $result = mysqli_query($conn,$query);
              while ($row=$result->fetch_assoc()) {
                  echo '<option value="'.$row['year'].'">'.$row['year'].'</option>';
              }
 
                if (isset($_GET['Regano']) == null ) {
                    $year = $_POST['ano'];
                } else {
                    $year = $_GET['Regano'];
                }
 
                    /*
                    Si $year = 0 pon select y el valor de $year es $_POST['ano'];, sino el valor de $year = $_GET['Regano'];
                    */
 
         ?>
                </select><br><br>
            <?php }
?>

Esta devuelve el valor
1
$year = $_POST['ano'];
que es utilizado para una query de mysql
1
$query="select concat(sum(cantidad),' €') as gasto_mes from movimientos where month(fecha)='".$meses."' and year(fecha)='".$year."' and operacion='gasto' and extra = 1";

Y que dicho valor es enviado a través de un botón a una página diferente:

1
<td><a class="boton_eliminar" href="meses_extras.php?Regmes=<?php echo $meses ?>&Regano=<?php echo $year ?>">Ver</a></td>

Desde esa otra página hay un botón de volver a la página anterior
1
<a class="button" href="vistas.php?Regano=<?php echo $year ?>">Volver a meses</a>


Lo que ocurre en la página, después de volver recojo el valor $year, pero no me deja interactuar con el select si cambio el valor del select no hace nada.

Alguien sabe como podría hacer para poder enviar el valor, pero que pueda cambiar el valor del combo.

Espero me haya explicado bien y lo hayáis entendido.

Muchas gracias,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por joel (1269 intervenciones) el 19/04/2021 08:02:34
Hola Jose, no entiendo cual es el problema... no se a que te refieres con: no me deja interactuar con el select si cambio el valor del select no hace nada... que debería hacer cuando cambias nuevamente el select?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por jose (71 intervenciones) el 19/04/2021 08:56:57
Hola Joel,

Sé que no me he explicado bien, a veces me cuesta un poco hacer que yo mismo me entienda.

La página que contiene el select tiene los valores de los años el cual se utiliza como valor de una query en la cláusula where.

Luego se ve una tabla con listas según la query. Cada lista tiene un botón que contiene
1
<a href="meses_extras.php?Regmes=<?php echo $meses ?>&Regano=<?php echo $year ?>">Ver</a>
, donde envío a otra página el valor de mes y año (que proviene del select)

En la otra página he puesto el link de volver atrás
1
<a  href="vistas.php?Regano=<?php echo $year ?>">Volver a meses</a>

El problema es que no aparecen valores en la lista dado que tengo que volver a seleccionar el año. Lo que necesito que es que vuelva al mismo año.

He conseguido (lo fácil) hacer que se vea la tabla con el valor del año. Como ves he vuelto a enviar a través del link de volver atrás el valor del año.

Lo recibe la página que contiene la tabla pero entonces no encuentro la forma de que funcione el select, por mucho que cambio el valor no hace nada.

más bien mi pregunta era para conocer como se suele hacer para solventar estas situaciones. En internet no he encontrado ninguna información.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por joel (1269 intervenciones) el 19/04/2021 13:38:32
Ah, ahora te he etendido... gracias por la explicación.

Como tienes el valor del año en la variable Regano, solo tienes que compararla y si coincide poner el select... algo así:

1
2
3
4
5
6
7
while ($row=$result->fetch_assoc()) {
    if ($_GET["Regano"]==$row["year"]) {
        echo '<option value="'.$row['year'].'" selected>'.$row['year'].'</option>';
    } else {
        echo '<option value="'.$row['year'].'">'.$row['year'].'</option>';
    }
}

Puedes probarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por jose (71 intervenciones) el 19/04/2021 16:43:20
Hola Joel,

Sigue sin funcionar. Cuando el valor envía el valor a la página del select veo los valores correctos en la tabla, sin embargo al cambiar el select, no funciona.

Cuando no envía el valor el select funciona correctamente.

He probado varias condicionales, colocado en diferentes partes del código y no hay forma, siempre tengo el mismo problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por joel (1269 intervenciones) el 19/04/2021 17:36:43
Que valor tiene la variable $_GET["Regano"]?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por jose (71 intervenciones) el 19/04/2021 18:17:34
$_GET["Regano"] es el valor del año.

Lo que hace es que un select envía el valor del año a una tabla.

A través de un link que está en cada línea se envía a la página meses_extra.php el valor del mes y año correspondiente a la línea.
1
<a href="meses_extras.php?Regmes=<?php echo $meses ?>&Regano=<?php echo $year ?>">Ver</a>

Está página a través del link siguiente devuelve a la página anterior el año
1
<a  href="vistas.php?Regano=<?php echo $year ?>">Volver a meses</a>

A la página el valor llega correctamente. Veo la tabla con el valor , pero al cambiar el select no hace nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por joel (1269 intervenciones) el 20/04/2021 08:16:44
Si, si, pero lo has comprobado?

haz un
1
echo $_GET["Regano"];
haber que valor te devuelve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por jose (71 intervenciones) el 20/04/2021 09:16:17
Sí. Aparte que veo la tabla que recoge el valor en la url aparece ?Regano= y el año
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por joel (1269 intervenciones) el 20/04/2021 17:57:00
Y ese año que muestra, no coincide con ningun valor de la base de datos en esta condición?
1
$_GET["Regano"]==$row["year"]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por jose (71 intervenciones) el 22/04/2021 20:01:00
Hola Joel,

El resultado que me da es el correcto. El problema viene con el select. Te tendría que hacer un video y enviártelo para que lo entiendas

Prefiero no dedicarle mucho tiempo a esto ahora. Cuando tenga más tiempo me pondré con ello.

Si quieres que te envié un video envíame un correo y te lo hago.

Muchas gracias Joel,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Volver a página anterior según valor de un Select

Publicado por Joel (1269 intervenciones) el 23/04/2021 08:08:38
Ah, bien, como prefieras, no hay problema...
Si no, también estoy por el chat para que podamos hablar si te puede servir...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar