Foros del Web » Programando para Internet » PHP »

Llenar Comb Box desde una tabla y dejar el dato selecionado que tiene el Usuario

Estas en el tema de Llenar Comb Box desde una tabla y dejar el dato selecionado que tiene el Usuario en el foro de PHP en Foros del Web. Compañeros(as) Me gustaria que me ayudaran en esto que no se me ocurre como hacerlo, la idea es modificar los datos de un usuario. Tengo ...
  #1 (permalink)  
Antiguo 02/11/2006, 06:19
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Llenar Comb Box desde una tabla y dejar el dato selecionado que tiene el Usuario

Compañeros(as)

Me gustaria que me ayudaran en esto que no se me ocurre como hacerlo, la idea es modificar los datos de un usuario.

Tengo 2 tablas una llamada usuario y otra cargos, mi idea es volcar todos los cargos ordenados ascendentemente en el combo box pero que muestre el cargo del usuario que tiene en ese momento, espero haberme explicado bien.

De todas formas les voy a dejar un ejemplo:

Que en el combo box muestre todos los cargos:

mecanico
electricista
administrativo
vigilante
contador
arquitecto
informatica

pero que cuando carge los cargos si el usuario Pedrito es contador que muestre seleccionado contador y al hacer clic en el combo box muestre las demas opciones, para su posterior modificacion.

Eso seria llevo dias sin avanzar en esto, seria genial si me ayudan.

De antemano se agradece.
  #2 (permalink)  
Antiguo 02/11/2006, 06:50
 
Fecha de Ingreso: octubre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
Primero sacas el dato de la tabla y luego en cada option escribir el "selected" si es la opcion del dato:

Supongamos que tenemos el campo en $registro[cargo]

<option value='mecanico' <?=$registro[cargo]=="mecanico"?"selected":"";>mecanico</option>
<option value='electricista' <?=$registro[cargo]=="electricista"?"selected":"";>electricista</option>
...
...
...

Todo esto recargando la pagina una vez seleccionado el usuario.

Si lo que quieres es hacerlo sin recargar la pagina pregunta en el foro de javascript :p.
  #3 (permalink)  
Antiguo 02/11/2006, 07:22
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Gracias por tu respuesta Radamantis.

Te cuento mi idea, pero no he puesto en practica tu respuesta.

Tengo este codigo que me vuelca todos los cargos al combo box:

Código PHP:
include("conec.inc.php");
    
$conex Conectarse();    
    
$consulta="SELECT nombre_cargo FROM cargos";
    
$res=mysql_query($consulta,$conex);
    if(!
$res)
    {
    echo 
":P fallo";
    }
    else
    {
     echo 
"<select name='select1'>";
    while (
$fila=mysql_fetch_array($res))
    {
           echo 
"<option>"$fila['nombre_cargo'], "</option>";
    }
    echo 
"</select>"
Mi idea es ahora hacer la consulta a la tabla usuarios y super poner el resultado del cargo que tiene el usuario en el combo box pero mi duda esta en que al super poner el dato del nombre del cargo de un usuario en particular (Ejemplo : Pedrito) perdere los demas datos que contenia el combo.

Gracias por la ayuda.

Última edición por juan007; 02/11/2006 a las 07:33
  #4 (permalink)  
Antiguo 02/11/2006, 09:03
 
Fecha de Ingreso: octubre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
A que te refieres con superponer?
Entiendo que quieres que se marque la opcion del cargo del usuario como seleccionado(selected) en el select que seria asi:

while ($fila=mysql_fetch_array($res))
{
echo "<option value='$fila['nombre_cargo']";
echo $registro['cargo']==$fila['nombre_cargo']?"selected":"";
echo ">". $fila['nombre_cargo']. "</option>";
}
Es decir si el cargo del usuario ($regitro[cargo]) coincide con el cargo ($fila['nombre_cargo']) se escribe un selected al option en cuestion.
  #5 (permalink)  
Antiguo 02/11/2006, 12:58
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Radamantis.

hay algo que no me resulta, eso del selected, no hubo caso con sacar el problema estuve investigando en algunas webs y trate de hacerlo hice varias veces pruebas, pero aun asi no me resulta.

Te pongo el codigo:

Código PHP:
echo "<select name='select1'>";
 while (
$fila=mysql_fetch_array($res))                    
{                                
echo 
"<option>"$fila['nombre_cargo'];
if(
$fila['nombre_cargo']==$nombre_cargo_socio)
{
echo 
"selected='selected' $nombre_cargo_socio </option>";
}
}
echo 
"</select>"
Te cuento que en la variable $nombre_cargo_socio esta guardada el verdadero cargo del usuario entonces la idea seria verificar si encuentra la concidencia en el combo y dejar esa concidencia seleccionada en el correspondiente combo.

pero como se hace, aun sigo rebuscando la solucion.

Bueno gracias nuevamente
  #6 (permalink)  
Antiguo 02/11/2006, 13:53
 
Fecha de Ingreso: octubre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
Sonrisa

Bueno quizas deberias revisar primero tu HTML...
Para que un option este seleccionado tiene que ser

<option selected>VALOR</option>

Y tendra que tener un valor para poder rescatarlo luego..
<option value='VALOR' selected>VALOR</option>


echo "<select name='select1'>";
while ($fila=mysql_fetch_array($res))
{
echo "<option value='$fila[nombre_cargo]';
if($fila['nombre_cargo']==$nombre_cargo_socio)
{
echo " selected ";
}
echo ">$fila[nombre_cargo]</option>";
}
echo "</select>";

Te tiene que ir si o si
  #7 (permalink)  
Antiguo 03/11/2006, 06:53
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Sorry compañero definitivamente no me funciona de primera no me hacia nada y me arrojaba un error pero lo solucione el error que me arrojaba, era en la 4ª liena que empezabas con comillas dobles y cerrabas con comillas simple.

Gracias por tu ayuda tiempo y dedicacion.

Sinceramente mil gracias.
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 13:21.