Foros del Web » Programando para Internet » PHP »

Php - select

Estas en el tema de Php - select en el foro de PHP en Foros del Web. Buenas, a lo mejor alguno me puede ayudar, tengo el siguiente codigo: <form method="post" action="pagina.php"> <div> <select size="1" name="mes">//onchange='showUser(this.value)' <?php $meses=Array('Enero','Febrero','Marzo','Abril','Ma yo','Junio','Julio','Agosto','Septiembre','Octubre ','Noviembre','Diciembre'); for($i = ...
  #1 (permalink)  
Antiguo 28/04/2010, 14:08
 
Fecha de Ingreso: abril-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Php - select

Buenas, a lo mejor alguno me puede ayudar, tengo el siguiente codigo:

<form method="post" action="pagina.php">
<div>
<select size="1" name="mes">//onchange='showUser(this.value)'
<?php
$meses=Array('Enero','Febrero','Marzo','Abril','Ma yo','Junio','Julio','Agosto','Septiembre','Octubre ','Noviembre','Diciembre');
for($i = 1; $i <= 12; $i++){
echo ' <option ';
if($i == $_POST['mes']) echo 'selected ';
echo 'value="'.$i.'">'.$meses[$i-1]."</option>\n";
}
?>
</select>&nbsp;&nbsp;&nbsp;
<select size="1" name="ano">
<?php

for ($i = $anoInicial; $i <= $anoFinal; $i++){
echo ' <option ';
if($i == $_POST[$ano])echo 'selected ';
echo 'value="'.$i.'" >'.$i."\n";
}
?>
</select>&nbsp;&nbsp;&nbsp;
<input type="submit" name="Consultar" value="Consultar">
</div>
</form>

En pagina.php, realizo una consulta a la base de datos y me dibuja una cuadro con los datos del mes. pero cuando hace el header('location: principal.php');
Los select anteriores en vez de quedar seleccionados en el mes y el año por el que se consulto me los vuelve a Enero para el mes y a 2009 para el año, osea a los primeros de la lista.
Alguien me podria decir como hago para que me queden seleccionados por lo que se ha consultado?

Muchas gracias!
Anibal.
  #2 (permalink)  
Antiguo 28/04/2010, 14:22
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 4 meses
Puntos: 8
Respuesta: Php - select

prueba
Código:
echo 'selected="selected"'
  #3 (permalink)  
Antiguo 28/04/2010, 18:28
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Php - select

trata asi:

Código PHP:
Ver original
  1. for($i = 1; $i <= 12; $i++){ ?>
  2. <option <?php if($i == $_POST['mes']){ ?> selected="selected" <?php } ?> value="<?= $i ?>" >
  3. <?php
  4.     echo $meses[$i-1]
  5. ?>
  6. </option>
  7. <?php
  8. }
  9. ?>
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #4 (permalink)  
Antiguo 29/04/2010, 09:24
 
Fecha de Ingreso: abril-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Php - select

Lukas4, ya probe como me dijiste, pero sigue sin funcionar.
Hay algo que omiti, cuando hace el header('location: principal.php') en principal.php hago en include "cuadro.php". Estuve probando y antes de hacer el include hice un echo $_POST[mes] y me sale vacio....
AYUDAAAAAA!!!
  #5 (permalink)  
Antiguo 29/04/2010, 09:52
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Php - select

Cita:
Iniciado por afavole Ver Mensaje
Lukas4, ya probe como me dijiste, pero sigue sin funcionar.
Hay algo que omiti, cuando hace el header('location: principal.php') en principal.php hago en include "cuadro.php". Estuve probando y antes de hacer el include hice un echo $_POST[mes] y me sale vacio....
AYUDAAAAAA!!!
ok, entonces vas a tener que irte hasta el archivo donde mandas el mes, y empezar a revisar si te manda el valor del mes, pon el pedazo del form donde envias el mes.
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #6 (permalink)  
Antiguo 29/04/2010, 10:04
 
Fecha de Ingreso: abril-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Php - select

La parte del form la tengo armada asi:
<form method="post" action="pagina.php">
Hice un echo ($_POST[mes]) en pagina.php sin el header y imprime el mes seleccionado en pantalla sin problemas!!!
  #7 (permalink)  
Antiguo 29/04/2010, 10:21
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Php - select

creo que ya me hice bolas Dx, cual es el archivo que manda el mes y cual es el que lo recibe? xP
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #8 (permalink)  
Antiguo 29/04/2010, 10:32
 
Fecha de Ingreso: abril-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Php - select

Aca van los archivos...

principal.php
<div class="div_cuerpo">
<?php
//echo("MES: ".$_POST[mes]); aca ya no me muestra el mes
include "cuadro.php"
?>
</div>


cuadro.php

<form method="post" action="pagina.php">
<div>
<select size="1" name="mes">
<?php
$meses=Array('Enero','Febrero','Marzo','Abril','Ma yo','Junio','Julio','Agosto','Septiembre','Octubre ','Noviembre','Diciembre');
for($i = 1; $i <= 12; $i++){
echo ' <option ';
if($i == $_POST['mes']) echo 'selected ';
echo 'value="'.$i.'">'.$meses[$i-1]."</option>\n";
}
?>
</select>&nbsp;&nbsp;&nbsp;
<select size="1" name="ano">
<?php

for ($i = $anoInicial; $i <= $anoFinal; $i++){
echo ' <option ';
if($i == $_POST[$ano])echo 'selected ';
echo 'value="'.$i.'" >'.$i."\n";
}
?>
</select>&nbsp;&nbsp;&nbsp;
<input type="submit" name="Consultar" value="Consultar">
</div>
</form>


pagina.php (es donde hace la consulta a la base de tados...)

<?php
$con = mysql_connect('localhost', 'root', '');
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db("prueba", $con);
$aux="SELECT concepto, periodo, sum( importe ) AS imp FROM gastos GROUP BY periodo, concepto having periodo='".$ano.$mes."'";
$sql=mysql_query($aux);
mysql_close($con);

header('location: principal.php');
?>
  #9 (permalink)  
Antiguo 29/04/2010, 11:14
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Php - select

lee aqui header()

creo ke ya entendi lo ke kieres hacer. kieres que dependiendo del mes que seleciones te muestre diferentes datos en pantalla verdad?
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #10 (permalink)  
Antiguo 29/04/2010, 12:07
 
Fecha de Ingreso: abril-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Php - select

Nop.... con los datos no tengo problema, los muestra bien, el tema es que cuando hace el Header("location: principal.php") los select no me muestran el ultimo mes que se selecciono...
Se entiende???
  #11 (permalink)  
Antiguo 29/04/2010, 12:36
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Php - select

pues no mucho pero haber, en primera los headers siempre se ponen al principio, en el link que te puse en el comentario anterior te explican como se deben de poner.

segunda, no se si lo que ocupes es la sintaxis correcta del select-option, aqui te va un ejemplo:

Código HTML:
Ver original
  1.    <option>valor 1</option>
  2.    <option selected="selected">valor 2</option>
  3.    <option>valor 3</option>

tons en tu codigo deberia estar asi:

Código PHP:
Ver original
  1. echo ' <option ';
  2. if($i == $_POST[$ano])  echo 'selected="selected" ';
  3.    echo 'value="'.$i.'" >'.$i."\n";
  4. ?>

opcion: si se te complica mucho, la parte esa que tienes en principal la podrias poner como funcion en pagina.php y ya luego la mandas llamar
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said

Etiquetas: select
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 16:28.