Foros del Web » Programando para Internet » PHP »

Select dinámico con variables de idioma

Estas en el tema de Select dinámico con variables de idioma en el foro de PHP en Foros del Web. Estoy creando un select en varios idiomas para lo que utilizo includes para cada idioma. Cada opción viene marcada por el nombre del select y ...
  #1 (permalink)  
Antiguo 13/06/2005, 05:01
 
Fecha de Ingreso: junio-2005
Mensajes: 10
Antigüedad: 12 años, 6 meses
Puntos: 0
Select dinámico con variables de idioma

Estoy creando un select en varios idiomas para lo que utilizo includes para cada idioma. Cada opción viene marcada por el nombre del select y su valor, es decir: si el select es tipo y la opción es 4 buscaré el valor a mostrar en los includes de cada idioma como : $la_tipo_4
El problema viene cuando quiero editar el formulario y necesito mostrar cual es el valor actual del registro. Cómo lo hago para que me muestre el valor de $la_tipo_4?????

<select name="tipo" size="1" id="select">
<option
<? if (isset($tipo))
{
$option='$la_tipo_' . $tipo;
echo " value=\"$tipo\">$la_tipo_$tipo"; // ES AQUÍ DONDE TENGO EL PROBLEMA. QUIERO QUE ME MUESTRE EL VALOR DE LA VARIABLE CORRESPONDIENTE, EJ: $la_tipo_4
}
else
{
echo " value=\"NULL\">";
}
?>
</option>
<option value="1"><? echo $la_tipo_1 ?></option>
<option value="2"><? echo $la_tipo_2 ?></option>
<option value="3"><? echo $la_tipo_3 ?></option>
<option value="4"><? echo $la_tipo_4 ?></option>
<option value="5"><? echo $la_tipo_5 ?></option>
<option value="6"><? echo $la_tipo_6 ?></option>
<option value="7"><? echo $la_tipo_7 ?></option>
<option value="8"><? echo $la_tipo_8 ?></option>
<option value="9"><? echo $la_tipo_9 ?></option>

He descubierto que si acutalizo la página por segunda vez con el código actual me queda el select on la opción que quiero marcada, lo que es una solución mucho mejor que la que yo estaba buscando, pero no se por qué? Existe la manera de que al editar el select me aparezca con la opción correcta marcada sin necesidad de añadir un "option value=..." en la primera línea

Muchas gracias

Última edición por i12ibiza; 13/06/2005 a las 06:17
  #2 (permalink)  
Antiguo 13/06/2005, 07:13
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
Lo que buscás es una "variable variable"
http://ar2.php.net/language.variables.variable

Dan un ejemplo similar
Código PHP:
// Given these variables ...
$nameTypes    = array("first""last""company");
$name_first  "John";
$name_last    "Doe";
$name_company "PHP.net";

// Then this loop is ...
foreach($nameTypes as $type)
  print ${
"name_$type"} . "\n";

// ... equivalent to this print statement.
print "$name_first\n$name_last\n$name_company\n"
En tu caso
Código PHP:
<select name="tipo" size="1" id="select">
<option
<? if (isset($tipo))
{
echo 
" value=\"$tipo\">${'la_tipo_$tipo'}"
}
else
{
echo 
" value=\"NULL\">";
}
?>
</option>
<option value="1"><? echo $la_tipo_1 ?></option>
<option value="2"><? echo $la_tipo_2 ?></option>
<option value="3"><? echo $la_tipo_3 ?></option>
<option value="4"><? echo $la_tipo_4 ?></option>
<option value="5"><? echo $la_tipo_5 ?></option>
<option value="6"><? echo $la_tipo_6 ?></option>
<option value="7"><? echo $la_tipo_7 ?></option>
<option value="8"><? echo $la_tipo_8 ?></option>
<option value="9"><? echo $la_tipo_9 ?></option>

Última edición por Seppo; 13/06/2005 a las 07:18
  #3 (permalink)  
Antiguo 13/06/2005, 08:27
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
Me parece mas sencillo hacer algo como:

Código:
<? 
if (!isset($tipo))
   $tipo = 0;
?>
<select name="tipo" size="1" id="select">
   <option value="1" <? if($tipo==1){echo "selected";} ?>><? echo $la_tipo_1 ?></option>
   <option value="2" <? if($tipo==2){echo "selected";} ?>><? echo $la_tipo_2 ?></option>
   <option value="3" <? if($tipo==3){echo "selected";} ?>><? echo $la_tipo_3 ?></option>
   <option value="4" <? if($tipo==4){echo "selected";} ?>><? echo $la_tipo_4 ?></option>
   <option value="5" <? if($tipo==5){echo "selected";} ?>><? echo $la_tipo_5 ?></option>
   <option value="6" <? if($tipo==6){echo "selected";} ?>><? echo $la_tipo_6 ?></option>
   <option value="7" <? if($tipo==7){echo "selected";} ?>><? echo $la_tipo_7 ?></option>
   <option value="8" <? if($tipo==8){echo "selected";} ?>><? echo $la_tipo_8 ?></option>
   <option value="9" <? if($tipo==9){echo "selected";} ?>><? echo $la_tipo_9 ?></option>
</select>
__________________
oohh... quisiera ser godines!!!
  #4 (permalink)  
Antiguo 13/06/2005, 09:20
 
Fecha de Ingreso: junio-2005
Mensajes: 10
Antigüedad: 12 años, 6 meses
Puntos: 0
Gracias

Gracias A Los Dos, Eso Es Exactamente Lo Que Necesitaba
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 09:24.