Foros del Web » Programando para Internet » PHP »

como hacer para no perder el valor de un combo box

Estas en el tema de como hacer para no perder el valor de un combo box en el foro de PHP en Foros del Web. hola amigos .... me gustaria saber como puedo hacer para no perder el valor del combo box al recargar la pagina.... ya que la idea ...
  #1 (permalink)  
Antiguo 11/07/2004, 00:12
 
Fecha de Ingreso: febrero-2004
Ubicación: horcon
Mensajes: 133
Antigüedad: 20 años, 2 meses
Puntos: 1
Mensaje como hacer para no perder el valor de un combo box

hola amigos .... me gustaria saber como puedo hacer para no perder
el valor del combo box al recargar la pagina....
ya que la idea es seleccionar la marca de un auto y al seleccionar una marca se despliega el otro combo box con los modelos de la marca seleccionada del automóvil…
esto me da resultado al seleccionar la marca me despliega los modelos .. pero el combo box name=”marca” me pierde el valor al recargarla y el segundo me keda bien con los modelos de la marca ke he seleccionado….
como puedo hacer para no perder el valor del como box name="marca" ...?


aki esta el script donde se despliega el 1er combo
<?
mysql_connect("localhost","","");
$sSQL="Select marca From productos_propio where tipo_vehiculo='Automovil'";
$result=mysql_db_query("gavino_cl_-_gavino",$sSQL);
//combo box marca
echo '<select name="marca" class="pieplantilla" onChange="recarga();">';
while ($row=mysql_fetch_array($result))
{
"<option value=\"".$marca->$row["marca"]."\">".$marca->$row["marca"]."</option>";
echo "<option>".$row["marca"];
}
?>

aki esta el script donde se despliega el 2do combo

<?
$sSQL="Select modelo From productos_propio where tipo_vehiculo='Automovil' and marca='$marca'";
$result=mysql_db_query("gavino_cl_-_gavino",$sSQL);
//como box modelo
echo '<select name="modelo" class="pieplantilla">';
while ($row=mysql_fetch_array($result))
{
"<option value=\"".$modelo->$row["modelo"]."\">".$modelo>$row["modelo"]."</option>";
echo '<option>'.$row["modelo"];
}
?>
esta es la funcion que recarga la pagina

<script language="JavaScript">
function recarga()
{
form1.submit();
}
</script>

saludos a todos........
__________________
pato

Última edición por cucox; 11/07/2004 a las 00:14
  #2 (permalink)  
Antiguo 11/07/2004, 00:18
 
Fecha de Ingreso: junio-2004
Mensajes: 97
Antigüedad: 19 años, 9 meses
Puntos: 0
lo que yo hago es simple, en el loop pon este codigo:

echo "<option " . (($_POST['marca']=$row["marca"]) ? "selected" : "") . ">" ...

modificalo para que se acople a tu pagina
__________________
hackerhosting.com
  #3 (permalink)  
Antiguo 12/07/2004, 13:28
 
Fecha de Ingreso: febrero-2004
Ubicación: horcon
Mensajes: 133
Antigüedad: 20 años, 2 meses
Puntos: 1
hola amigo me pasa lo mismo con ese codigo cuando seleccione el 1er combo box ke es marca .. por ejempo selecciono una marca nissan y el otro combo box me muestra todos los modelos nissan .. pero el 1ero keda con el valor inicial de la base de datos ke es ford eso pasa al recargar la pagina ke pierdo el valor ke selecione...
asi modifike el codigo...
echo "<option " . $row["marca"] ? "selected" : "$marca" . ">";
saludos a todos hasta pronto...
__________________
pato
  #4 (permalink)  
Antiguo 12/07/2004, 13:36
 
Fecha de Ingreso: junio-2004
Mensajes: 97
Antigüedad: 19 años, 9 meses
Puntos: 0
haz esto, solo cambia POST por GET si envias la info en forma GET.

echo '<option ' . (($_POST['marca']=$row["marca"]) ? "selected" : "") . '>' . $row['marca'] . '</option>';
__________________
hackerhosting.com
  #5 (permalink)  
Antiguo 12/07/2004, 14:07
 
Fecha de Ingreso: febrero-2004
Ubicación: horcon
Mensajes: 133
Antigüedad: 20 años, 2 meses
Puntos: 1
mmmmm . sabes amigo cambie a la forma GET pero ocurre lo mismo siempre me deja el valor ke viene por defecto de la BD ... no se ke pasara siempre al actualizar me pierde valor ..
__________________
pato
  #6 (permalink)  
Antiguo 12/07/2004, 20:43
 
Fecha de Ingreso: febrero-2004
Ubicación: horcon
Mensajes: 133
Antigüedad: 20 años, 2 meses
Puntos: 1
he probado de varias formas y he buscado pero todavia no he encontrado la solucion .. ayuda ...
saludos
__________________
pato
  #7 (permalink)  
Antiguo 12/07/2004, 21:11
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Lo que puedes hacer es guardar el valor seleccionado en una variable de sesión.
Busca en el foro, y encontrarás varios posts donde se habla de utilizar la instrucción "selected" para que un combo se inicie con un valor seleccionado por defecto. Tú harás algo similar, sólo que en lugar de sacar el valor de la BD, lo sacarás de la sesión.

Saludos
  #8 (permalink)  
Antiguo 12/07/2004, 23:53
 
Fecha de Ingreso: febrero-2004
Ubicación: horcon
Mensajes: 133
Antigüedad: 20 años, 2 meses
Puntos: 1
gracias jpinedo ahi buscando en el foro encontre como hacer para ke no perdiera el valor ocupando el selected ke tu mensionaste y el otro amigo hackerhosting bueno gracias nuevamente ... aki voy a publicar la solucion para ver si les sirve a otros amigos.. saludos a todos

/combo box 1


mysql_connect("localhost","","");
$sSQL="Select marca From vehiculos where tipo_vehiculo='Automovil'";
$result=mysql_db_query("BD",$sSQL);
echo '<select name="marca" onChange="recarga();">';
echo "<option>-- Seleecione la Marca--</option>";
while ($row=mysql_fetch_array($result))
{
"<option value=\"".$marca->$row["marca"]."\">".$marca->$row["marca"]."</option>";
if ($row['marca'] == $marca)
{
echo "<option value=\"".$row['marca']."\" selected>".$row['marca']."</option>";
}
else
{
echo "<option value=\"".$row['marca']."\">".$row['marca']."</option>";
}
}
?>

//combo box 2

<?
$sSQL="Select modelo From vehiculos where marca='$marca'";
$result=mysql_db_query("BD",$sSQL);
echo '<select name="modelo">';
while ($row=mysql_fetch_array($result))
{
"<option value=\"".$modelo->$row["modelo"]."\">".$modelo->$row["modelo"]."</option>";
if ($row['modelo'] == $modelo)
{
echo "<option value=\"".$row['modelo']."\" selected>".$row['modelo']."</option>";
}
else
{
echo "<option value=\"".$row['modelo']."\">".$row['modelo']."</option>";
}
}
?>

function recarga

<script language="JavaScript">
function recarga()
{

form1.submit();
}
</script>

saludos ....
__________________
pato
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 14:36.