Foros del Web » Programando para Internet » PHP »

Mostrar y cambiar ID de lista desplegable

Estas en el tema de Mostrar y cambiar ID de lista desplegable en el foro de PHP en Foros del Web. Hola a todos! Tengo una consulta para hacerles y no creo que sea tan compleja, a ver si me pueden orientar. Tengo un form de ...
  #1 (permalink)  
Antiguo 29/10/2008, 06:49
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Pregunta Mostrar y cambiar ID de lista desplegable

Hola a todos! Tengo una consulta para hacerles y no creo que sea tan compleja, a ver si me pueden orientar.

Tengo un form de altas en los cuales tengo varias listas desplegables que se crean de diferentes tablas de mi BDD.

Además, tengo otro form de modificaciones donde aparecen las mismas listas desplegables.
Mi idea es ver si se puede hacer que al lado de esa lista, aparezca el ACTUAL ID DE ESA LISTA, el cual ya esta cargado en la base. En el caso que elija otra opcion de la lista, que automaticamente me muestre el cambio en ese lugar.
De esa forma, ese ID sería el que se cargará en la base de datos.

Espero se pueda hacer y desde ya muchas gracias.

Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 29/10/2008, 07:01
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Mostrar y cambiar ID de lista desplegable

Si las listas son idénticas en ambas partes (mismos datos y mismo orden), entonces, al momento de generar la segunda lista deberás identificar cual fue la opción escogida, y agregarle el atributo correspondiente para que sea la opción seleccionada:

Código PHP:
selected="selected" 
__________________
KIBIT.cl
  #3 (permalink)  
Antiguo 29/10/2008, 07:29
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Mostrar y cambiar ID de lista desplegable

Perdon amigo... pero no comprendí lo que me dijiste y gracias por responder.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 29/10/2008, 07:48
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Mostrar y cambiar ID de lista desplegable

Hola, si lo que quieres es al escoger un elemento de la lista y que muestre en el docuento el ID de el elemento escogifo, tendrias poner en la propiedad :

<select name="lista" onChange="submit();">

submit(); para poder enviar el formulario y recuperas el ID con:

$_REQUEST['lista'];
y simplemente lo muetras al lado de la lista...

es entendible que para que puedas recuperar el id , tenias que haber listado el ID en la propiedad value:
<option value="$rs['id']"></option>

Espero que te sirva es una forma de hacerlo...
__________________
Anthony Vidal Contreras | @AnthonyVidalC | Skype: vidalsystem | [email protected]
  #5 (permalink)  
Antiguo 26/11/2008, 09:09
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Mostrar y cambiar ID de lista desplegable

Bueno... sigo dando vueltas y no pude hacer funcionar esto. A ver si me puedes o pueden volver a dar una manito por favor.

El código para habilitar las casillas funciona perfecto. Ahora, lo que necesitaría hacer son 2 cosas:

- Si activo la casilla para q se activen las listas, al seleccionar cualquier opcion de esa lista que automáticamente me muestre sul ID correspondiente a la derecha de las mismas, como muestra el grafico.

- Y que al presionar el boton del formulario, que me grabe ESE ID que aparece a la derecha de las listas.

De hecho, si no realizo ninguna modificación, debería mantener el ID que aparece a la derecha. Eso es simple, con solo mantener el punto anterior, no habría problemas.

Les adjunto una imagen:

El código para que me aparezcan las listas es este:
Código PHP:
// lista izquierda cocina

<input type="checkbox" onClick="id_cocina.disabled = !this.checked" />

                  echo 
"<select name='id_cocina' id='id_cocina' disabled>";
                echo 
"<option value=''>Todos</option>";
                    while (
$row2 mysql_fetch_array($consulta2))
                    {
                        echo 
'<option value='.$row2["id_cocina"];
                        echo 
' >';
                        echo 
$row2["cocina"];
                echo
'</option>';
                    }
            echo 
'</select>';

// Este es el id actual que se ve a la derecha de la lista

echo $row['id_cocina'];



// lista derecha precios

<input type="checkbox" onClick="id_precio.disabled = !this.checked" />

              echo 
"<select name='id_precio' id='id_precio' disabled>";
                echo 
"<option value=''>Todos</option>";
                    while (
$row3 mysql_fetch_array($consulta3))
                    {
                        echo 
'<option value='.$row3["id_precio"];
                        echo 
' >';
                        echo 
$row3["precio"];
                echo
'</option>';
                    }
            echo 
'</select>';

echo 
$row['id_precio']; 
Espero puedan ayudarme.

Muchisimas gracias y saludos. MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.

Última edición por marx-pola; 26/11/2008 a las 09:26
  #6 (permalink)  
Antiguo 05/12/2008, 12:22
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Mostrar y cambiar ID de lista desplegable

Bueno... sigo insistiendo a ver si me pueden ayudar a resolver este tema. Me está pasando lo siguiente y no sé que opciones utilizar para resolverlo.

Tengo una página para modificar los datos de mis clientes los cuales extraigo de mi base de datos.

La misma, tiene listas desplegables para modificar además, las opciones de cada una de ellas.

Si yo no selecciono ninguna opcion de las Listas Desplegables, cuando graba esos campos en la base, me los graba todos con el valor 0 (cero)... o sea que DEBERIA VOLVER A SELECCIONAR cada una de las opciones de las listas para que se grabe correctamente... y es esto lo que quisiera evitar.

Intentando evitar lo inevitable, lo que traté de hacer fue agregarle un código para que me habilite la lista en caso de querer modificar algun dato... pero no sé por qué motivo, en caso de NO SELECCIONAR LA LISTA... me sigue grabando los datos con el valor 0 (cero).

Otra de las cosas que intenté hacer es que a la derecha de cada lista aparezca el ID que YA esta cargado en la base, para saber si es necesario modificarlo o no, como lo publiqué mas arriba.

¿Qué opciones puedo utilizar para solucionar esto de las listas desplegables?

Necesitaría que me orienten por favor q estoy trabadísimo con esto.

Muchas gracias. MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #7 (permalink)  
Antiguo 05/12/2008, 13:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Mostrar y cambiar ID de lista desplegable

Pues sin ver el código que usas para grabar los datos es dificil saber el porque te los almacena como 0.

Saludos.
  #8 (permalink)  
Antiguo 05/12/2008, 13:48
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Mostrar y cambiar ID de lista desplegable

Huy que tonto... es verdad, ahi lo agrego.

Código PHP:
if(isset($_POST['grabar'])){
    include(
'conectar.php');

$id_cocina trim($_POST['id_cocina']);
$id_precio trim($_POST['id_precio']);
$nombre trim($_POST['nombre']);
......

    
// conexion a la base
    
$conexion mysql_connect($host_db$usuario_db$pass_db) or die ("no se ha podido conectar a la BD");
    
mysql_select_db($base_db$conexion) or die ("no se ha podido seleccionar la BD");


    
$Sql="UPDATE restaurantes SET id_cocina = '$id_cocina', id_precio = '$id_precio', nombre = '$nombre' WHERE id_rubro = $id_rubro";

    
mysql_query($Sql,$conexion);
    
header("location: 01_resto_list_a.php");
    exit;

        
// Cierro la conexion
        
mysql_close($conexion);


Lo estaba usando así.

Gracias. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #9 (permalink)  
Antiguo 05/12/2008, 14:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Mostrar y cambiar ID de lista desplegable

Pues si te fijas el problema es que asumes que hay datos que vienen por $_POST, lo que debes de hacer es verificar con empty() si hay datos, si los hay actualizas, y si no, no actualizas, por ejemplo:
Código php:
Ver original
  1. <?php
  2. if(isset($_POST['grabar'])){
  3.     include('conectar.php');
  4.  
  5. $id_cocina = trim($_POST['id_cocina']);
  6. $id_precio = trim($_POST['id_precio']);
  7. $nombre = trim($_POST['nombre']);
  8.  
  9. $toUpdate = array();
  10. if(!empty($id_cocina)) {
  11.       $toUpdate[] = "id_cocina='$id_cocina'";
  12. }
  13. if(!empty($id_precio)) {
  14.       $toUpdate[] = "id_precio='$id_precio'";
  15. }
  16.  
  17.     // conexion a la base
  18.     $conexion = mysql_connect($host_db, $usuario_db, $pass_db) or die ("no se ha podido conectar a la BD");
  19.     mysql_select_db($base_db, $conexion) or die ("no se ha podido seleccionar la BD");
  20.  
  21.     if(count($toUpdate)>0) {
  22.             $updates = implode(" , ", $toUpdate);
  23.             $Sql="UPDATE restaurantes SET $updates WHERE id_rubro = $id_rubro";
  24.             mysql_query($Sql,$conexion);
  25.     }
  26.     header("location: 01_resto_list_a.php");
  27.     exit;
  28.  
  29.         // Cierro la conexion
  30.         mysql_close($conexion);
  31.  
  32. }

Saludos.
  #10 (permalink)  
Antiguo 05/12/2008, 15:00
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Mostrar y cambiar ID de lista desplegable

Ahhh GatorV... funcionó pero me faltó un detalle... la línea 7 donde dice $nombre = trim($_POST['nombre']);... como la agrego en la sentencia SQL para que haga el UPDATE si se modifica?

Gracias y ya esta casi listo :P.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #11 (permalink)  
Antiguo 05/12/2008, 15:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Mostrar y cambiar ID de lista desplegable

Pues sigue la logica de las lineas 10, 11 y 12, no voy a hacer todo el trabajo por ti
  #12 (permalink)  
Antiguo 05/12/2008, 18:09
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Mostrar y cambiar ID de lista desplegable

nonono... por favor no lo tomes como una comodidad. Simplemente pregunté xq no sabía que debía llevar el mismo formato. Además mi formulario es más extenso y solo puse una partecita del mismo. Ahora ya lo voy a adaptar al mismo.

Nuevamente, mil gracias por tu tiempo y ayuda.

Saludos. MArx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:22.