24 febrero 2016

Cómo seleccionar un valor concreto de un objeto Select y un Input Radio (HTML) utilizando PHP


En esta ocasión les enseñaré cómo podemos seleccionar un valor concreto de un objeto Select (HTML) utilizando PHP a partir del valor guardado en una variable de sesión. En el ejemplo la variable es $_SESSION["NumeroGenero"].

En este ejemplo en particular el objeto Select (conocido por ComboBox en otros lenguajes de programación) tiene por valores los dos géneros sexuales, y un punto. En su origen, antes de introducirle las lineas PHP (código programado entre las palabras clave y ?>), el valor que se cargaba cada vez que la página se refrescaba era el punto. Sin embargo, un cliente me pidió que realizara cambios para ahorrarle tiempo, y después de pensar y buscar en Internet llegué a esta conclusión.

Pero si en un fichero anteriormente (en nuestro caso se llama check_anonimo.php) se procesaba la variable $_SESSION["NumeroGenero"] cuando por segunda vez se llegara a la página del formulario  (ubicada en el archivo llamado anonimo.php) dibujando cada objeto (inclusive el objeto Select que tratamos), por cada uno de los valores a agregar sería necesario leer la variable $_SESSION["NumeroGenero"] para comparar. Es decir,  el código quedaría así:

<tr>
                   <td>Género:</td>
                   <td><select name="genero" class="Estilo2" id="select222">
                     <option value="." <?php if($_SESSION["NumeroGenero"] == 0) echo 'selected="selected"'; ?>>.</option>
                     <option value="Masculino" <?php if($_SESSION["NumeroGenero"] == 1) echo 'selected="selected"'; ?>>Masculino</option>
                     <option value="Femenino" <?php if($_SESSION["NumeroGenero"] == 2) echo 'selected="selected"'; ?>>Femenino</option>
                                      </select></td>
 </tr>


Mi fuente en este caso, fue https://codex.wordpress.org/Function_Reference/selected



Para finalizar les enseñaré cómo podemos seleccionar un valor concreto de un objeto Input Radio (HTML) utilizando PHP a partir del valor guardado en una variable de sesión. En el ejemplo la variable es $_SESSION["NumeroGeografico"].

En este ejemplo en particular el objeto Input Radio tiene por valores los tres valores que se corresponden con tres zonas geográficas. En su origen, antes de introducirle las lineas PHP (código programado entre las palabras clave ?>)el valor que se cargaba cada vez que la página se refrescaba era el punto. Sin embargo, con este código y con el anterior se cargará el valor que en el anterior usó se estableció. 


Porque si en un fichero anteriormente (en nuestro caso se llama check_anonimo.php) se procesaba la variable $_SESSION["NumeroGeografico"] cuando por segunda vez se llegara a la página del formulario  (ubicada en el archivo llamado anonimo.php) dibujando cada objeto (inclusive el objeto Input Radio que tratamos), por cada uno de los valores a agregar sería necesario leer la variable $_SESSION["NumeroGeografico"] para comparar. Es decir,  el código quedaría así:

<tr>
               <td height="352" valign="top">                 <div align="left">
                 <p>GEOGRÁFICO:</p>
                 <table width="670" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
                   <tr valign="top">
                     <td width="209" height="50"><input name="zona" type="radio" value="ZONA A" <?php if ($_SESSION["NumeroGeografico"] == 1 ) echo 'checked="checked"'; ?>>
                       <span class="Estilo6"> ZONA A</span> (La Estrella. La Milagosa, S. Antón) </td>
                     <td width="235"><input name="zona" type="radio" value="ZONA B" <?php if ($_SESSION["NumeroGeografico"] == 2 ) echo 'checked="checked"'; ?>>
                       <span class="Estilo6"> ZONA B </span> (Carretas, Hnos. Falcó;, Hospital, Universidad) </td>
                     <td width="226"><input name="zona" type="radio" value="ZONA C" <?php if ($_SESSION["NumeroGeografico"] == 3 ) echo 'checked="checked"'; ?>>
                       <span class="Estilo6"> ZONA C </span> (Fátima, Franciscanos, Parque Sur, Pedro Lamata, San Pedro Mortero, Santa Teresa, Sepulcro Bolera, Vereda) </td>

                   </tr>
                   </table>
                   </div>
                   </td>
                   </tr>

No hay comentarios:

Publicar un comentario en la entrada