Foros del Web » Programando para Internet » PHP »

select con opcion elegida para editar

Estas en el tema de select con opcion elegida para editar en el foro de PHP en Foros del Web. Como estan, les cuento... estoy guardando datos en la BD por medio de un formulario el cual tiene varios <select name...> . Supongamos que el ...
  #1 (permalink)  
Antiguo 26/12/2012, 06:50
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
select con opcion elegida para editar

Como estan, les cuento... estoy guardando datos en la BD por medio de un formulario el cual tiene varios <select name...> .

Supongamos que el select me da a elegir: perro, gato, lobo.... hasta el momento cero problemas.

Mi problema se presenta al momento de querer editar los registros guardados, ya que al editar se tienen que cargar nuevamente los select, pero esta vez con la opción escogida anteriormente... osea que si escogí gato y se guardó así... al editar debería estar seleccionado....

no lo he podido hacer, haber si me pueden echar una manito, muchas gracias. saludos a todos.
  #2 (permalink)  
Antiguo 26/12/2012, 07:06
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: select con opcion elegida para editar

Tomando como base tu ejemplo, tendriamos estas tres opciones:

valor | descripcion
--------+-------------
1 | perro
2 | gato
3 | lobo
--------+-----------



Una opcion en un select html seria algo asi

Código HTML:
Ver original
  1. <option value="valor">Descripcion</option>

"Descripcion" es lo que el usuario ve y valor es lo que te retorna el select cuando es elegido esa opcion.

Suponiendo que en tu base de datos esta guardado un registro con la opcion 3/lobo , para que al editar este seleccionado esta opcion deberias poner a esa opcion en el select (solo a esa) el atributo selected. Asi:


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

Con php deberias comparar el valor de cada opcion con lo que esta guardado en la base de datos y un ves que encuentres la opcion guardada imprimes el atributo selected en esa opcion.

Para eso el select debe ser generado de forma dinamica
__________________
Recursos para diseñadores
lacatedradeboris.com
  #3 (permalink)  
Antiguo 26/12/2012, 07:23
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
Respuesta: select con opcion elegida para editar

mira, estaba haciendo algo asi para comparar y eliminar la opcion que se repita, pero por lo que me dices ya me doy cuenta que no me sirve... jejeje..


<?php
$query_mysql='select * from categorias';
$rs_mysql=mysql_query($query_mysql,$link);

echo "<select name='categoria'>";
echo "<option value='".$Rs['categoria']."'>".$Rs['categoria']."</option>";
while($row=mysql_fetch_array($rs_mysql)){
echo "<option value='".$row['nombre']."'>".$row['nombre']."</option>";
}
echo "</select>";
?>

Osea que lo que debo hacer es comparar el registro de la base de datos con el que coincida en el select que se carga dinamicamente??.. mmm eso voy a tratar, según como me vaya te cuento, gracias.
  #4 (permalink)  
Antiguo 26/12/2012, 07:46
Avatar de HackGhost  
Fecha de Ingreso: marzo-2012
Ubicación: En la pesadilla de mis enemigos
Mensajes: 114
Antigüedad: 12 años, 1 mes
Puntos: 23
Respuesta: select con opcion elegida para editar

Volvamos al ejemplo de los animales, suponiendo que tienes dos tablas relacionadas, una llamada persona y otro llamada mascota. Cada tabla por logica deberia tener una Clave primaria.. en este caso para "Persona" y "mascota" hay un campo id para cada registro.

Los campos en persona serian: id | nombre | id_mascota
Los campos en mascota serian: id | descripcion

Al guardar una "persona" en este se guarda el "id" de su mascota (en el caso de lobo seria id_mascota=3)

suponiendo que ya hay datos guardados y vas a editar un registro harias lo siguiente
Código PHP:
Ver original
  1. //realizas una consulta para tomar los datos de un registro "persona" que se va a editar
  2. $persona;//en esta variable se guarda el array con los datos
  3. //ahora realizas otra consulta para obtener todas las mascotas que hay
  4. $mascotas
  5. //haces un while para cargar el select, en esta parte solo te muestro las etiquetas <option>
  6. while($row = mysql_fetcht_array($mascotas)):
  7.  echo "<option value=$row['id'] if($persona['id_mascota'] == $row['id']){echo "selected">$row['id']</option>
  8. endwhile;

El codigo ni siquiera esta bien hecho pero ya te podes hacer una idea de como hacerlo funcionar.
__________________
Recursos para diseñadores
lacatedradeboris.com
  #5 (permalink)  
Antiguo 26/12/2012, 08:23
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 1
Respuesta: select con opcion elegida para editar

Muchas gracias HackGhost por tu ayuda... fanalmente lo que he hecho fué crear u valor $sel = ''; (vacio) entonces cuando coincidiera el nombre de la categoria if( $reg["nombre"] == $comparacion ) fuera selected $sel = 'selected="selected"';

muchas gracias por tu ayuda.

Etiquetas: formulario, opcion, 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 04:34.