Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2006, 01:38
Avatar de Stickmaster2004
Stickmaster2004
 
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 19 años, 6 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