Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2015, 06:34
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 9 meses
Puntos: 65
Mantener valor seleccionado en un option desde una consulta mysql

Hola.

Estoy intentando mantener seleccionado el valor de un option select dentro de un formulario en el que envío datos pero que si tiene algún campo vacío o incorrecto no se envía y que mantenta los campos rellenos hasta el momento.

Si lo hago como edición lo logro sin problema ya que solo tengo que comparar el id_etiqueta de la tabla noticias que muestra el formulario con el id_etiqueta de la tabla etiqueta y listo, pero claro al enviar aún no tiene el id_etiqueta y no logro conseguirlo.

Lo intento de esta manera pero al final siempre salta al último valor y lo marca como seleccionado.

Código PHP:
Ver original
  1. <select name="id_etiqueta">
  2.                         <!-- <option value="1">Música</option> -->
  3.                         <?php
  4.                         //Busco todas las etiquetas en la tabla etiquetas para mostrar en el select                    
  5.                         $c_etiqueta_n = "Select id_etiqueta from etiquetas";                       
  6.                         $r_etiqueta_n = mysql_query($c_etiqueta_n);
  7.                         echo "<option name=\"\" value=\"\">Elija una etiqueta</option>";
  8.                         //Mientras que lea las id_etiqueta de la tabla etiqueta
  9.                         while($fila_etiqueta=mysql_fetch_array($r_etiqueta_n))
  10.                         {
  11.                             echo "<option ";
  12.                             //Si el id_etiqueta existe y no es igual a vacio.                                              
  13.                             if (isset($_POST["id_etiqueta"]) && ($_POST["id_etiqueta"] != "")) {
  14.                                 //$fila_etiqueta["id_etiqueta"])
  15.                                 echo " selected";
  16.                             }
  17.                             //Muestro el valor del id_etiqueta de la tabla etiqueta y el nombre de la etiqueta de la tabla etiqueta recibido desde la función recibir_etiqueta.                        
  18.                             echo " value=\"".$fila_etiqueta["id_etiqueta"]."\">".recibir_etiqueta($fila_etiqueta["id_etiqueta"])."</option>";
  19.                         }
  20.                         mysql_free_result($r_etiqueta_n);
  21.                         ?>
  22.                     </select>

¿Cómo podría arregrarlo?