Foros del Web » Programando para Internet » PHP »

Erros select php

Estas en el tema de Erros select php en el foro de PHP en Foros del Web. QUE TAL AMIGOS ....BUENO TENGO UN CODIGO DONDE IMPLEMENTO UN SELECT DEPENDIENTE....EL PROBLEMA ES QUE CUANDO SELECCIONO EN EL PRIMER SELECT...QUE HACE REFERENCIA A PAISES....ME ...
  #1 (permalink)  
Antiguo 14/02/2011, 20:10
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Erros select php

QUE TAL AMIGOS ....BUENO TENGO UN CODIGO DONDE IMPLEMENTO UN SELECT DEPENDIENTE....EL PROBLEMA ES QUE CUANDO SELECCIONO EN EL PRIMER SELECT...QUE HACE REFERENCIA A PAISES....ME CARGA EN EL SEGUNDO LAS RESPECTIVAS CIUDADES DE ACUERDO AL PAIS SELECCIONADO DE FORMA CORRECTA...EL PROBLEMA ES QUE EL PRIMER SELECT SE REFRESCA Y VUELVE A TENER EL CAMPO EN BLANCO....

AKA LES DEJO EL CODIGO

<?php
mysql_connect("localhost","root")or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db("pais")or die ('Ha fallado la conexión: '.mysql_error());
$re=mysql_query("select * from pais");
//el @ sirve para que no salga ese mensaje de NOTICE al momento de ejecutar por 1ra ve nuestro codigo.
if(isset($_POST["pais"])){
$pais=$_POST["pais"];
$re1=mysql_query("select * from ciudad where cod_pais=".$pais."");
$re2=mysql_query("select nombre from pais where cod_pais=".$pais."");
$j[]=mysql_fetch_array($re2);
}else{
@$j[nombre]="seleccione pais"; }
?>
<form id="form1" name="form1" method="post" action="">
Nombre completo
<input name="nombre" type="text" id="nombre" value="<?php echo @$_POST[nombre]?>" />
<br>
<br>
Pais: <select name="pais" size="1" id="pais" onchange="form1.submit()" style="width:200px">
<option value="" > Seleccione Pais</option>
<?php
while($f=mysql_fetch_array($re)){
echo"<option value=".$f[cod_pais].">".$f[nombre]."</option>";
}
?>
</select>
<br />
Ciudad: <select name="ciudad" size="1" id="ciudad" style="width:200px">
<?php
while($f1=mysql_fetch_array($re1)){
echo"<option>".$f1[nombre]."</option>";
}
?>
</select>
</p>
</form>
  #2 (permalink)  
Antiguo 15/02/2011, 11:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 52
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Erros select php

Bueno a simple vista el el error parece estar en esta parte del codigo
onchange="form1.submit()";

Al elegir tu pais se te refresca la pagina y por esos te lo borra
  #3 (permalink)  
Antiguo 15/02/2011, 11:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Erros select php

Si no quieres usar ajax o precargar tooodas las opciones previamente arreglos javascript, lo más simple es que al refrescar la pagina y volver a cargar la lista de paises desde la bd, incluyas la condición dentro del while de si es el país elegido marcar la opción elegida con selected, algo como esto:


Código PHP:
Ver original
  1. while($f=mysql_fetch_array($re)){
  2.      echo "<option value=\"$f[cod_pais]\"   ";
  3.      if($f["cod_pais"]==$_POST["pais"])
  4.             echo "selected";
  5.      echo ">$f[nombre]</option>";
  6. }
  #4 (permalink)  
Antiguo 15/02/2011, 12:15
Avatar de jonasanx  
Fecha de Ingreso: enero-2011
Ubicación: La Via Lactea, Mexico, Mexico, Mexico
Mensajes: 134
Antigüedad: 13 años, 3 meses
Puntos: 4
Respuesta: Erros select php

No abuses del operador @ (arroba), su función no es ocultar los errores que no puedas resolver. Si no de omitir errores que tienen una razón muy clara para no aparecer.

Otra cosa, a tus variables les faltan las comillas.

$f1[nombre] <- Esta mal.
$f1['nombre'] <- Debería ser así.

Etiquetas: 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 00:46.