Foros del Web » Programando para Internet » PHP »

Select dependientes en actualizacion

Estas en el tema de Select dependientes en actualizacion en el foro de PHP en Foros del Web. hola de nuevo!!! voy de nuevo, perdonen que pregunte tanto, pero me estoy iniciando en php por que yo tengo experiencia es con asp, pero ...
  #1 (permalink)  
Antiguo 10/06/2006, 02:38
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 567
Antigüedad: 13 años, 2 meses
Puntos: 0
Select dependientes en actualizacion

hola de nuevo!!!

voy de nuevo, perdonen que pregunte tanto, pero me estoy iniciando en php por que yo tengo experiencia es con asp, pero bueno php es una maravilla.

bueno, tome el codigo de Cluster de select dependientes y logre adaptarlo a un formulario de un usuario donde se elije el pais y sus respectivas ciudades, en fin hasta alli todo bien.

ahora lo que necesito es pues que en el formulario de actualizacion me aparezca seleccionado el pais y la ciudad que yo eleji en el formulario de insercion y que se encuentra en una tabla llamada:usuario en donde se encuentran dos campos:pais_codigo,ciud_codigo.

lo que se me ocurre es primero, poner por defecto <selected>, el pais y la ciudad que estan en la tabla paises y ciudades respectivas, pero que peertenezcan a ese usuario, ahora bien no se como hacerlo miren el codigo que implemento Cluster:

Código PHP:
<? 
// datos de conexion a la BD. 
$servidor  ="localhost"// host 
$usuario   ="";  
$clave     =""
$basedatos =""// Indicar una Base de datos. 

// si se ha pulsao el boton enviar ($enviado) se procesa el formulario .. 
// Sino, se continua con el formulario y los nuevos valores de los Select .. 
// OJO si se tienen mas varibles (mas <input> ) se van a perder sus valores a no ser 
// que los obtengamos y se les de como valor inicial en el value= de cada uno segun corresponda. 

if (!empty($_POST['enviado'])){ 

// Procesar el formulario ... 
echo "Procesando formulario:<br>"
echo 
"Recibido id_tabla_padre: ".$_POST['id_padre']."<br>"
echo 
"Recibido id_tabla_hija: ".$_POST['id_hija']; 

} else { 

   
// Conexión a la BD 
   
$conexion mysql_connect($servidor$usuario$clave) or die(mysql_error()); 
   
mysql_select_db($basedatos$conexion) or die(mysql_error()); 

   
// Obtener el $id_padre del envio a si mismo del formulario .. 
   
$id_padre=$_POST['id_padre']; 

   
// Inicio Formulario .. PHP_SELF enviamos a si mismo (a este script). 
   
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n"

   
// Formar Selec "Padre". 
   
echo "<select name=\"id_padre\" onChange=\"this.form.submit()\">\n"
   echo 
"<option value=\"\"> Seleccione un Item </option>\n"

   
$SQLconsulta_padre="SELECT * FROM tabla_padre"
   
$consulta_padre mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error()); 

   While   (
$registro_padre=mysql_fetch_assoc($consulta_padre)){ 
      
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo. 
      // Se selecciona en consecuencia (selected) la opción elegida. 
      
if ($id_padre == $registro_padre['id']){ 
         echo 
"<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['item_texto']."</option>\n"
      } else { 
         echo 
"<option value=\"".$registro_padre['id']."\">".$registro_padre['item_texto']."</option>\n"
      } 
    } 
   echo 
"</select>\n\n"

   
mysql_free_result($consulta_padre); // Liberar memoria usada por consulta. 

   // Formar Select "Hijo" 
   
echo "<select name=\"id_hija\">\n"

   
// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opcion del select hijo 
   // se muestra el mensaje de "seleccine un item" (del select padre). 
   
if (!empty($id_padre)){ 

       
$SQLconsulta_hija="SELECT * FROM tabla_hija WHERE id_padre='$id_padre'"
       
$consulta_hija mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error()); 
       
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select .. 
       
if (mysql_num_rows($consulta_hija) != 0){ 
          While   (
$registro_hija=mysql_fetch_assoc($consulta_hija)){ 
            echo 
"<option value=\"".$registro_hija['id']."\">".$registro_hija['item_texto']."</option>\n"
          } 
        } else { 
            echo 
"<option value=\"\"> No hay registros para este Item </option>"
        } 
    } else { 
        echo 
"<option value=\"\"> <-- Seleccione un Item  </option>"
    } 

    
mysql_free_result($consulta_hija); // Liberar memoria usada por consulta. 
     
    
echo "</select>\n\n"
    echo 
"<input type=\"submit\" name=\"enviado\" value=\" Enviar \" >\n\n"
    echo 
"</form>\n"
}
me podrian hechar una manito??????, cluster yo se que usted seguro a hecho esto que yo necesito hacer y pues tambien lo quiero saber hacer es personal!!!!, jejjejejje, espero que me puedan ayudar.

<!-- [jam1138]: Favor de utilizar las etiquetas correspondientes para encerrar código -->
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #2 (permalink)  
Antiguo 10/06/2006, 02:49
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
poner por defecto <selected>, el pais y la ciudad que estan en la tabla paises y ciudades respectivas, pero que peertenezcan a ese usuario,
Solo añade la comparación dentro de el bucle que genera el listbox...

Código PHP:
$paisUsuario"Dato de la BD"// tu respectiva consulta y demás...

while($rowmysql_fetch_array($consulta)) { // lo mismo...
      
echo "<option value=\"".$row['pais'].""// lo normal
      
if($row['pais']==$paisUsuario) { // comparas si el dato actual coincide con el del usuario
            
echo " selected"// lo marcas
      
}
      echo 
"\">".$row['pais']."</option>";

He ahí la idea... es simple, intenta adaptarlo.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 10/06/2006, 23:37
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 567
Antigüedad: 13 años, 2 meses
Puntos: 0
Por fin me salio solo que tuve que usar ajax+php

bueno me salio voy a poner el codigo, no se si colocarlo aqui o en ajax:

bueno no tengo espacio para colocar mi codigo aqui, si alguno de los moderadores ve esto, diganme que puedo hacer para mostrar mi codigo???, pues sin necesidad de alojar alguna paginilla y poner el enlace por aca, aunque seria bueno.

beueno, bye.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
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:14.