Foros del Web » Programando para Internet » PHP »

reasignar valores a un listmenu y un RadioButton

Estas en el tema de reasignar valores a un listmenu y un RadioButton en el foro de PHP en Foros del Web. tengo un listmenu en el cual despliego unos valores que se refieren a unas claves de agencias, el caso es que cuando hago una busqueda ...
  #1 (permalink)  
Antiguo 03/12/2004, 13:59
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
reasignar valores a un listmenu y un RadioButton

tengo un listmenu en el cual despliego unos valores que se refieren a unas claves de agencias, el caso es que cuando hago una busqueda quiero que el listmenu me marque el valor que me dio la consulta por que siempre me marca el primer valor:
<select name="bmo" id="bmo" >
<option selected value="x">-- Seleccionar --</option>
<option value="01">01-Enero</option>
<option value="02">02-Febrero</option>
<option value="03">03-Marzo</option>
<option value="04">04-Abril</option>
<option value="05">05-Mayo</option>
<option value="06">06-Junio</option>
<option value="07">07-Julio</option>
<option value="08">08-Agosto</option>
<option value="09">09-Septiembre</option>
<option value="10">10-Octubre</option>
<option value="11">11-Noviembre</option>
<option value="12">12-Diciembre</option>
</select>
En el caso del radiobutton quiero que se seleccione el radiobutton que tenga el valor de la consulta:

<input name="puesto" type="radio" value="JEFE DE OFICINA">

Aparte tengo otro listmenu en el cual hago una consulta a la hora de cargar la página y me muestra todas las poblaciones de cada agencia, pero al hacer cualquier submit se pierde el valor y yo lo que quiero es volver a mostrarlo.

<select name="pob" id="pob" value "pob"title="Selecciona la población a la que perteneces" ame="pob">
<?php
$qry= mysql_query("select cve_pob from poblaciones where cve_area_resp='DK09A' order by cve_pob",$atcon);
while($reg = mysql_fetch_array($qry)) {
if ($estim == $reg["cve_pob"]) $selected="selected"; else $selected="";
printf("<option value=%s %s>%s</option>", $reg["cve_pob"], $selected, $reg["cve_pob"]);
}
mysql_free_result($qry);
?>
</select>

Si alguien tiene una idea de como hacerlo, le agradeceria mucho que lo compartiera conmigo.
gracias
  #2 (permalink)  
Antiguo 03/12/2004, 15:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si usas simples "echo" veras que te complica menos que usar la sintax de printf() que se suele usar para otras cosas no para estos casos simples ..

Código PHP:
    if($reg["cve_pob"] == $_POST['pob']){
       echo 
"<option value=\"".$reg["cve_pob"] ."\" selected>".$reg["cve_pob"]."</option>\n";
     } else {
       echo 
"<option value=\"".$reg["cve_pob"] ."\">".$reg["cve_pob"]."</option>\n";
     } 
Eso sería para los "<select>" .. los radio tiene su parámetro HTML para indicar que quede seleccionado de nombre: checked

un ejemplo:
Código PHP:
<input type="radio" name="puesto" value="JEFE DE COCINA" <? if ($_POST['puesto']=="JEFE DE COCINA") echo "checked" ?> >

Un saludo,
  #3 (permalink)  
Antiguo 04/12/2004, 12:07
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Gracias lo del radio button me salio bien, pero en el caso de los listmenu lo que yo quiero hacer es que al hacer una busqueda y cuando obtenga el valor de la clave de la población que el valor del listmenu se posicione en el que acabo de obtener, digamos algo como lo del radiobutton.
  #4 (permalink)  
Antiguo 04/12/2004, 18:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues es el ejemplo que te he dejado ..

Este IF ..
if($reg["cve_pob"] == $_POST['pob']){

sigifica:
Si el valor que estàs recorriendo de tu lista de opciones (que la generas desde tu consulta SQL a tu BD o un array que debe contener esos <option ...>) es igual al valor que llega externo (en ese caso se usa el mètodo POST pues .. supongo que eso llega de tu formulario al hacer tu "submit" y usastes mètodo POST) .. entonces, genera el "echo" que es el <option ... > con el parámetro "select" que predefine su valor inicial ..

Ajusta los valores de tus variables y si no te sale .. pon el código completo que quedó en tus pruebas y explica que sucede.

Un saludo,
  #5 (permalink)  
Antiguo 06/12/2004, 12:43
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Gracias, ahora ya me sale, pero me lo imprime dos veces, le quite el else y ahora solo me imprime 2 veces el valor, no hay una forma de que no lo haga?, y con respecto al otro listmenu no se como comparar el valor ya que este no lo obtengo de una consulta, lo intente con los parametros que me diste para los radiobuttons pero no me sale. Disculpa que de tanta lata, pero enseriome urge. de nuevo, gracias
  #6 (permalink)  
Antiguo 06/12/2004, 13:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si alguna lista de valores (un <select>) es "fijo" .. tendrás que usar un array para contener esos valores para poder componer ese "select" totalmente dinámico:

Código PHP:
$meses=array("01"=>"01-Enero","02"=>"02-Febrero",etc ....);

echo 
"<select name=\"mes\">\n";

foreach (
$meses as $dato => $mes){

if(
$dato == $_POST['mes']){ 
       echo 
"<option value=\"".$dato ."\" selected>".$mes."</option>\n"
     } else { 
       echo 
"<option value=\"".$dato ."\">".$mes."</option>\n"
     } 

}
echo 
"</select>\n"
El tema que comentas de que te sale repetido o no se qué .. pon el código -completo- que uses .. tal vez te has equivocado en algo.

Un saludo,

Última edición por Cluster; 06/12/2004 a las 13:32
  #7 (permalink)  
Antiguo 06/12/2004, 15:19
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Si me lo hace, pero me lo imprime abajo del listmenu, como le hago para que me lo imprima adentro.
asi lo hice:

<select name="bmf" id="bmf" >
<option value="x">-- Seleccionar --</option>
<option value="01">01-Enero</option>
<option value="02">02-Febrero</option>
<option value="03">03-Marzo</option>
<option value="04">04-Abril</option>
<option value="05">05-Mayo</option>
<option value="06">06-Junio</option>
<option value="07">07-Julio</option>
<option value="08">08-Agosto</option>
<option value="09">09-Septiembre</option>
<option value="10">10-Octubre</option>
<option value="11">11-Noviembre</option>
<option value="12">12-Diciembre</option>
<?php
$meses=array("01"=>"01-Enero","02"=>"02-Febrero","03"=>"03-Marzo","04"=>"04-Abril","05"=>"05-Mayo","06"=>"06-Junio","07"=>"07-Julio","08"=>"08-Agosto","09"=>"09-Septiembre","10"=>"10-Octubre","11"=>"11-Noviembre","12"=>"12-Diciembre");
echo "<select name=\"mes\">\n";
foreach ($meses as $dato => $mes){
if($dato == $bmf2){
echo "<option value=\"".$dato ."\" selected>".$mes."</option>\n";
} else {
echo "<option value=\"".$dato ."\">".$mes."</option>\n";
}
}
echo "</select>\n";
?>
</select>
  #8 (permalink)  
Antiguo 06/12/2004, 15:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Como que "adentro"?

Por qué tienes esto:
<select name="bmf" id="bmf" >
<option value="x">-- Seleccionar --</option>
<option value="01">01-Enero</option>
<option value="02">02-Febrero</option>
<option value="03">03-Marzo</option>
<option value="04">04-Abril</option>
<option value="05">05-Mayo</option>
<option value="06">06-Junio</option>
<option value="07">07-Julio</option>
<option value="08">08-Agosto</option>
<option value="09">09-Septiembre</option>
<option value="10">10-Octubre</option>
<option value="11">11-Noviembre</option>
<option value="12">12-Diciembre</option>


eso no corresponde! (ni el último </select> tuyo) .. se supone que el array con esas opciones y sus valores es justamente pare representar todo eso "dinámicamente" para poder hacer el tema de pre-establecer un valor por defecto en función de lo que se está presentando y lo que le llega.

Un saludo,
  #9 (permalink)  
Antiguo 06/12/2004, 15:38
 
Fecha de Ingreso: noviembre-2004
Ubicación: Oaxaca, Mexico
Mensajes: 97
Antigüedad: 13 años, 1 mes
Puntos: 0
Gracias, ya me salio, te agradesco mucho toda la ayuda que me has dado.
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 11:12.