Foros del Web » Programando para Internet » PHP »

Problema Menu Despegable

Estas en el tema de Problema Menu Despegable en el foro de PHP en Foros del Web. Tengo un problema con un menú despegable. El problema es el siguiente: Tengo una lista con los registros que tengo en mi base de datos, ...
  #1 (permalink)  
Antiguo 28/10/2008, 09:50
 
Fecha de Ingreso: abril-2008
Mensajes: 70
Antigüedad: 16 años
Puntos: 0
Problema Menu Despegable

Tengo un problema con un menú despegable.

El problema es el siguiente:

Tengo una lista con los registros que tengo en mi base de datos, cuando pincho en un registro cualquiera me lleva a un formulario con su ficha donde viene toda la información que ese registro tiene ingresado en la base de datos , permitiéndome poder actualizarlo desde ahí.
En varios campos tengo un menú despegable, por ejemplo tengo un menú pronvincias que me muestra todos los registros en la tabla de provincias para que yo seleccione la que quiera y se guarde en la tabla principal la provincia seleccionada.
Pero tengo 2 problemas, el 1º que quiero que me venga activado en el menú despegable el registro que asociado en la base de datos(en caso de que lo tenga) y el 2º que me ingrese al seleccionar una provincia ese valor en la base de datos

Los menús despegables los configuré de la siguiente manera

Código PHP:
<select name="select">
<option value="<?php echo $row_rel_concellos_escolas['txt_cnllo']; ?>" selected="selected" ><?php echo $row_rel_concellos_escolas['txt_cnclls']; ?></option>
 <option value=".....................">...................</option>
<?php do {  ?>
<option value="<?php echo $row_concellos['cod_cnclls']; ?>"><?php echo $row_concellos['txt_cnclls']; ?></option>
<?php
} while ($row_concellos mysql_fetch_assoc($concellos));
  
$rows mysql_num_rows($concellos);
  if(
$rows 0) {
      
mysql_data_seek($concellos0);
      
$row_concellos mysql_fetch_assoc($concellos);
 }
?> </select>
Primero selecciono el valor que quiero que salga activado, lo recojo del juego de registros entre las 2 tablas donde se relaciona el campo(si pruebo el juego de registros funciona, me muestra el registro 1 tiene los campos x, z y w y está relacionado en la tabla b con este otro registro)
Luego le meto un valor que es una linea de puntos para separar el registro real de los elegibles
Y luego otro valor con un repeat donde me muestra todos los registros que se pueden seleccionar

A ver si alguien sabe como va lo de activar una opcion en un menú despegable

Última edición por Hamwe; 28/10/2008 a las 09:55
  #2 (permalink)  
Antiguo 28/10/2008, 10:02
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Problema Menu Despegable

Bueno para la primera interrogante tuya, debes hacer el select del valor del id que tienes en la tabla principal, luego de esto haces en el do-while lo siguiente
Código PHP:
if($row_concellos['cod_cnclls']==$IDProvincia)
{
<option value="<?php echo $row_concellos['cod_cnclls']; ?>" selected><?php echo $row_concellos['txt_cnclls']; ?></option>
}
else
{
<option value="<?php echo $row_concellos['cod_cnclls']; ?>"><?php echo $row_concellos['txt_cnclls']; ?></option>
}
Tomando en cuenta que el value de los options son sus id de tabla y que guardas en la tabla principal el id de los mismos, y que $IDProvincia es el id de la provincia del registro de la tabla principal.
Para la segunda, tienes varias opciones, usar ajax, para enviar el id del registro y el valor del select provincias para que actualize en la DB sin recarga y puedas seguir editando el formulario o enviar el formulario al cambiar la opción del select, esto ocasionaría una recarga de página, guardas el dato y puedes volver a cargar el formulario con los datos que tienes. Las dos opciones se hacen con el onchange del select

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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 08:04.