Foros del Web » Programando para Internet » PHP »

Problemas con Listas Dependientes y el Form action

Estas en el tema de Problemas con Listas Dependientes y el Form action en el foro de PHP en Foros del Web. hola como estan?, bueno mi problema es el siguiente tengo dos listas dependientes y puedo visualizar solamente la primera lista pero al momento de seleccionar ...
  #1 (permalink)  
Antiguo 11/06/2005, 19:13
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 14 años
Puntos: 0
Problemas con Listas Dependientes y el Form action

hola como estan?, bueno mi problema es el siguiente tengo dos listas dependientes y puedo visualizar solamente la primera lista pero al momento de seleccionar una opcion se redirecciona con el metodo
Código HTML:
onChange=\"this.form.submit()
mi problema es que no vuelve a la misma pagina ya que en el action del form tengo
Código HTML:
action="$pag?accion=ingresarcurriculum
deberia ser asi misma para poder mostrar la otra lista pero se me va directamente al "ingresarcurriculum" donde yo hago el insert, no se como hacer para que primero vuelva a mostrar elcombo y luego se valla a "ingresarcurriculum" (y no se me valla a los tros modulos de las paginas si no vuelva al curriculum) una vez ya todos los campos llenados, espero que me puedan ayudar o dar un consejo de cual seria la forma pruedente de hacerlo si se dan cuenta el formulario es una idea de un curriculum
a continuacion les coloco el codigo del formulario...
Código PHP:
echo <<< HTML
Recuerda Ingresar Correctamente tu Datos.<br>

<form method="post" action="$pag?accion=ingresarcurriculum">
<input type="hidden" name="id" value="$resultados
[ID]">
<table width="600" align="center">
 
     <tr>
      <td colspan="4" height="30" bgcolor="#0066cc">
        <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">.:
         DATOS PERSONALES :.</font></b></div>
      </td>
    </tr>
    <tr bgcolor="#DEDEBE">
      <td><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Nombre : </font></div></td>
      <td>$resultados
[nombre]</td>
   
      <td><div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Apellidos : </font></div></td>
      <td>$resultados
[apellido_pat] $resultados[apellido_mat]</td>
    </tr>
        <tr bgcolor="#DEDEBE">
      <td>
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">RUT : </font></div></td>
      <td>$resultados
[rut]
        </td>
        <td>
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Dirección : </font></div></td>
      <td><input type="text" name="telefono" class="imputbox" size="30" maxlength="255" value="$resultados
[direccion]">
        </td>
        </tr>
HTML;
        
echo
"<tr bgcolor='#DEDEBE'><td><div align='right'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>Region : </font></div></td>";
  echo
" <td>";
 
$id_region=$_POST['id_region']; 
   
// Inicio Formulario .. PHP_SELF enviamos a si mismo (a este script). 
  
      
echo "<select name=\"id_region\" onChange=\"this.form.submit()\">\n"
   echo 
"<option value=\"\"> Seleccione un Item </option>\n"
   
$SQLconsulta_padre="SELECT * FROM region"
   
$consulta_padre mysql_query($SQLconsulta_padre,$db_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_region == $registro_padre['id']){ 
         echo 
"<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['nombre']."</option>\n"
      } else { 
         echo 
"<option value=\"".$registro_padre['id']."\">".$registro_padre['nombre']."</option>\n"
      } 
    } 
   echo 
"</select>\n\n"
   
mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.   
     
echo" </td>";
    echo
" <td><div align='right'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>Comuna : </font></div></td>";
     echo
" <td>";     
     echo 
"<select name=\"id_comuna\">\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_region)){ 

       
$SQLconsulta_hija="SELECT * FROM comuna WHERE id_region='$id_region'"
       
$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['comuna']."</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
" </td>    </tr>";
     echo 
"</form>\n"
     
echo <<< HTML
        <tr bgcolor="#DEDEBE">
     <td>
        <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Ciudad : </font></div></td>
      <td><input type="text" name="e_mail" class="imputbox" size="15" maxlength="50" value="$resultados
[ciudad]">
        </td>
        </tr>
    <tr bgcolor="#F0F0F0">
      <td colspan="4" height="40">
        <div align="center">
          <input type="submit" name="Submit" value="  Actualizar  " class="botones" >
        </div>
      </td>
    </tr>
  </table>
</form>
HTML;
}
mysql_free_result($usuario_consulta);
mysql_close();
}
if (
$_GET['accion']=="ingresarcurriculum"){
.... 
el codigo sigue.... 
  #2 (permalink)  
Antiguo 12/06/2005, 03:01
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
Respuesta 7: http://www.forosdelweb.com/f18/cargar-option-consultando-mysql-desde-htm-300849/

__________________
٩(͡๏̯͡๏)۶
» 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 12/06/2005, 13:58
Avatar de jahman  
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 14 años
Puntos: 0
oiga man me salio una duda como coloco...
Código HTML:
// primero en tu select
<select ... onChange="this.form.action='<?=$_SERVER['PHP_SELF'] ?>'; this.form.submit()">
// y en tu botón
<input type="button" ... onClick="this.form.action='pagina.php'; this.form.submit()"> 
esto dentro de php????, el problem que me suscito fue que en el action del formulario no le pongo nada pero yo lo hago que se busque un sentencia dentro de lamisma pagina

Código HTML:
<form method="post" action="$pag?accion=ingresarcurriculum"> 
para luego insertar el codigopero todo esto lo hago en ela misma pagina el problema que tuve es como inserte lo que me dijo en php trate de hacerlo perono me funciono espeor que me pueda ayudar ya que es para mi proyecto de titulo gracias...

Código PHP:
echo"<tr bgcolor='#DEDEBE'><td><div align='right'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>Region : </font></div></td>";
  echo
" <td>";
 
$id_region=$_POST['id_region']; 
   
  
      echo 
"<select name=\"nombre_region\">\n"
   echo 
"<option value=\"\"> Seleccione un Item </option>\n"
   
$SQLconsulta_padre="SELECT * FROM region"
   
$consulta_padre mysql_query($SQLconsulta_padre,$db_conexion) or die(mysql_error()); 
   While   (
$registro_padre=mysql_fetch_assoc($consulta_padre  )){ 
            if (
$id_region == $registro_padre['id']){ 
         echo 
"<option value=\"".$registro_padre['nombre_region']."\" selected>".$registro_padre['nombre_region']."</option>\n"
      } else { 
         echo 
"<option value=\"".$registro_padre['nombre_region']."\">".$registro_padre['nombre_region']."</option>\n"
      } 
    } 
   echo 
"</select>\n\n"
   
mysql_free_result($consulta_padre); 
     echo
" </td>";
       echo
"<td><div align='right'><font face='Verdana, Arial, Helvetica, sans-serif' size='1'>Ciudad : </font></div></td>";
  
  echo
" <td>";
   echo 
"<select name=\"id_comuna\">\n"
     if (!empty(
$id_region)){ 

       
$SQLconsulta_hija="SELECT * FROM comuna WHERE id_region='$id_region'"
       
$consulta_hija mysql_query($SQLconsulta_hija,$db_conexion) or die(mysql_error()); 
             if (
mysql_num_rows($consulta_hija) != 0){ 
          While   (
$registro_hija=mysql_fetch_assoc($consulta_hija))  { 
            echo 
"<option value=\"".$registro_hija['id']."\">".$registro_hija['comuna']."</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);  
     
    echo 
"</select>\n\n"
    echo
" </td>"
  #4 (permalink)  
Antiguo 12/06/2005, 19:32
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
No puedes hacer esto:
Código HTML:
<form method="post" action="$pag?accion=ingresarcurriculum"> 
.. no puedes pasar un parámetro por URL en un formulario (menos si usas POST)... crea un campo oculto de ser necesario. Además ¿por qué $pag si no estás en PHP?.

El como colocar lo que dije... importa poco. Ve que es JavaScript (como dije en dicho post) y lo qu eimporta es que sea bien impreso.. ya sea saliendo de PHP y mostrandolo directamente (así lo manejo por el <?=$_SERVER...) ó imprimirlo con un echo de PHP (entonces cuidado con el $_SERVER.

No dice mucho el "no funcionó". ¿por qué? errores? cuáles? qué hiciste?... simplemente no veo que lo tengas en el código que muestras.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 13:10.