Foros del Web » Programando para Internet » PHP »

Cargar valor por defecto en Combobox

Estas en el tema de Cargar valor por defecto en Combobox en el foro de PHP en Foros del Web. Hola buenas tardes. Tengo una página en la que doy de alta diferentes productos. Y otra página en la que los puedo modificar. Mi problema ...
  #1 (permalink)  
Antiguo 20/07/2009, 10:36
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Cargar valor por defecto en Combobox

Hola buenas tardes.

Tengo una página en la que doy de alta diferentes productos.

Y otra página en la que los puedo modificar.

Mi problema es que cuando entro en la página de modificación los datos de los combobox que me aparecen son los que le tengo puestos por defecto y no los datos que tienen que aparecer cuando le he dado de alta.

Un caso concreto, el combo tiene la lista de todas las provincias de España y la tabla que tiene esa provincia son ID y PROVINCIA y la tabla que me guarda el dato del producto tiene un campo llamado IDPROVINCIA.

Alguien sabe como puedo hacer para que me compare los datos IDPROVINCIA = PROVINCIA y que por defecto me salga el dato seleccionado?

Este es el código que tengo

Código PHP:
    <select name="idprovincia" id="idprovincia" style="width:100px;" tabindex="4">
    <?php
do {  
?>
        <option value="<?php echo $row_provincia['provincia']?>">
        <?php echo $row_provincia['provincia']?></option>
        <?php
Muchas gracias.
  #2 (permalink)  
Antiguo 20/07/2009, 10:37
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Cargar valor por defecto en Combobox

Código PHP:


## Script Para seleccionar Por defecto una opcion del select
    ## ------------------------------------------------------------------------------------------------
    
$pais[0] = "Colom";
    
$pais[1] = "Peru";
    
$pais[2] = "Mex";



    
$sel =  "Colom";
    echo 
"<select>";
    foreach(
$pais as $rows => $field)
    echo (
$field == $sel )?"<option value=\"$field\" selected=\"selected\">$field</option>":"<option value=\"$field\">$field</option>";
    echo 
"</select>";
    
    
## ---------------------------------------------------------------------------------------------------------------------------------- 
  #3 (permalink)  
Antiguo 20/07/2009, 10:49
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Cargar valor por defecto en Combobox

Hola, creo que no es exactamente lo que necesito.

Mis datos estan en una tabla Mysql y lo que quiero que la tabla IDPROVINCIA me de el dato que tiene en su campo para que me aparezca en el combo.

Gracias.
  #4 (permalink)  
Antiguo 20/07/2009, 11:59
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: Cargar valor por defecto en Combobox

De hecho es lo que necesitas, el chiste es agregar el atributo de selected="selected" a la opción que quieras preseleccionar.

Saludos.
  #5 (permalink)  
Antiguo 20/07/2009, 15:48
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Cargar valor por defecto en Combobox

Hola GatorV siento haber sido un poco prepotente con mi comentario anterior
Código:
Hola, creo que no es exactamente lo que necesito.

Mis datos estan en una tabla Mysql y lo que quiero que la tabla IDPROVINCIA me de el dato que tiene en su campo para que me aparezca en el combo.

Gracias.
No era mi intención.

Es que con tanto código me estoy haciendo un lio.

Me podrías expecificar un poco más como poder adaptar tu código al mío.

Este es mi codigo:

Código PHP:
<select name="destacado" id="destacado" style="width:100px;" tabindex="1" value="<?php print(mysql_result($result,0,'destacado'));?>">
        <?php
do {  
?>
        <option value="<?php echo $row_destacado['destac']?>"><?php echo $row_destacado['destac']?></option>
        <?php
} while ($row_destacado mysql_fetch_assoc($destacado));
  
$rows mysql_num_rows($destacado);
  if(
$rows 0) {
      
mysql_data_seek($destacado0);
      
$row_destacado mysql_fetch_assoc($destacado);
  }
?>
Cuando entro en la página a modificar un producto el campo texto si me muestra bien el código, pero el combobox se me va al primero de la lista.

Muchas gracias.
  #6 (permalink)  
Antiguo 20/07/2009, 16:07
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: Cargar valor por defecto en Combobox

Sencillo, solo agrega un if para comprobar si es la opcion que quieres preseleccionar:
Código php:
Ver original
  1. <?php
  2. do {  
  3. ?>
  4.         <option value="<?php echo $row_destacado['destac']?>" <?php if( $row_destacado['destac'] == $opcion) {?>selected="selected"<?php}?>><?php echo $row_destacado['destac']?></option>
  5.         <?php
  6. } while ($row_destacado = mysql_fetch_assoc($destacado));

En $opcion debe de estar la opcion que quieras preseleccionar.

Saludos.
  #7 (permalink)  
Antiguo 20/07/2009, 17:42
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Cargar valor por defecto en Combobox

Jajajajajajaja.

Será sencillo pero no me sale, no hay como saber para que a uno le parezcan las cosas sencillas.

Jejejejejeje

Me lo tomare con humor.

Menuda desesperación.

Me da un erros inesperado en la línea en la que tengo el IF y no hace nada más

Alguna sugerencia?
  #8 (permalink)  
Antiguo 20/07/2009, 21:31
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: Cargar valor por defecto en Combobox

Pues desconozco "que error inesperado" te sale por lo que no se como te puedo ayudar.

Saludos.
  #9 (permalink)  
Antiguo 21/07/2009, 00:40
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Cargar valor por defecto en Combobox

Hola buenos dias.

Este es el error que me da:


Parse error: parse error, unexpected '}' in C:\AppServ\www\Tuvivienda.net\gestion\inmuebles\mo dif2.php on line 152

en la linea 152 tengo este código:

Código PHP:
<option value="<?php echo $row_destacado['destac']?><?php if( $row_destacado['destac'] == $opcion) {?>selected="selected"<?php}?>><?php echo $row_destacado['destac']?></option>
Antes me hacias referencia a $opcion de donde tengo que sacar ese dato?

Saludos.
  #10 (permalink)  
Antiguo 21/07/2009, 10:45
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: Cargar valor por defecto en Combobox

Prueba darle un espacio: <?php } ?>

Saludos.
  #11 (permalink)  
Antiguo 21/07/2009, 12:53
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Cargar valor por defecto en Combobox

yo lo hago asi ....

Código PHP:
<?php <select name="nr_ficha_realizado" class="lista" id="nr_ficha_realizado">
    <
option value="" >-- Seleccione una opci&oacute;--</option>
    <? foreach(
$usuario->getContratistaEmpleado($arr_s['cd_empresa_solicitud']) as $arr_cont){
         if(
$arr_cont['ficha'] == $arr_s['nr_ficha_realizado']){
    
$selected "SELECTED";
         }else{
    
$selected "";        
         }
?>
         <option value="<?=$arr_cont['ficha']?><?=$selected?> ><?=($arr_cont['nm_empleado'])?></option>
   <? ?>
</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 18:16.