Comunidad de diseño web y desarrollo en internet online

como mantener las opciones de Select box despues del submit

Citar            
MensajeEscrito el 24 Ene 2008 03:56 am
Que tal tengo una duda, quiero procesar un formulario en codigo PHP, donde despues de hacer submit quiero que se quede seleccionada la opcion que se eligió previamente en un select box .

Pero propiamente en lugar de esto se borran!!.
como le puedo hacer para que estas no se borren??
, para un input propiamente si puedo dejar el dato que se capturo mediante el $_POST
<input name="dato" type="text" id="dato" value="<?php echo $_POST['dato']; ?>"/>
pero para un Select Box, como??? :?

<select name="opciones" >
<option value="">Select..</option>
<option value="0"> Revista</option>
<option value="1">TV</option>
<option value="2">Internet</option>
</select>
en el tag Option puedo usar SELECTED="SELECTED", y de ahi tomar el estado si se selecciono, pero como poder incustrar el codigo de PHP ahi?? :crap:

Espero alguien pueda darme una guia, saludos y gracias... :)

Por gihay

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ene 2008 02:58 pm
Aca te dejo un ejemplo... espero te sirva..!

Código :

<html>
<body>
<?php
   
   $seleccionado = "";
   
   if($_SERVER['REQUEST_METHOD']=='POST')
   {
      $seleccionado = $_POST['opciones'];
   }

?>
<form method=post>
   <select name='opciones'>
      <option value=''>-- Seleccione --</option>
      <?php
      
         $datos = array("Revista","TV","Internet");
         
         for($i=0; $i<count($datos); $i++)
         {
            if($i==$seleccionado)
            {
               echo "<option value='".$i."' selected>".$datos[$i]."</option>";
            }
            else
            {
               echo "<option value='".$i."'>".$datos[$i]."</option>";
            }
         }
      
      ?>
   </select>
   &nbsp;&nbsp;
   <input type=submit>
</form>
</body>
</html>


:cool:

Por jripper

228 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Ene 2008 09:57 pm
Gracias jripper, realmente es completamente sencillo y funcional.

Por gihay

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Feb 2011 02:56 am
hola , ando buscando lo mismo que gihay, y probe el ejemplo dado por jripper, pero en la base de datos se me registran los numeros y no los nombres, por ej: 0,1,2 en vez de revista, internet. lo que veo es porque los pusieron en un array y les asignaron un contador interno, pero como se puede hacer para que se registren los nombres?

bueno en mi caso es para las fechas, tengo los select
$dia = $_POST['dia'];
$mes = $_POST['mes'];
$año = $_POST['año'];

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<select name"dia">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select name="mes">
<option value="enero">enero</option>
<option value="febrero">febrero</option>
</select>
<select name="año">
<option value="2010">2010</option>
<option value="2011">2011</option>
</select>
<input type="submit" name="Submit" value="Registrar">
</form>

y el problema es que no quedan los valores registrados del select al poner refresh,.
bueno la solucion la dio jripper, pero el problema es que se registran los numeros y no los valores que contienen los select, como se puede en el caso de mi ejemplo aplicado a la respuesta de jripper y que ademas registre los nombres y no los valores del contador .
saludos

Por nihao

46 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.