Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2014, 18:23
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Listas dependientes, reducir código innecesario!

Estoy intentando hacer unas listas dependientes con PHP y MySQL. El script funciona. Es largo y feo, pero funciona (He dejado a un lado los scripts que me he encontrado en los buscadores, porque, por diversas razones, resultan complicados).

Tengo dos select's. El 1ro es para seleccionar el continente, y en el 2do aparecen los países según el continente elegido. Es todo.

Lo que quiero es reducir código, y en vez de poner 1,517 if's, pues sería bueno hacer una sola función para ello.

Éste sería el código que he tratado de reducir, aún sin frutos. Es el código que imprime los inputs en el 2do select:
Código PHP:
Ver original
  1. <select name="select2">
  2.       <option value="Ninguno">Elige un continente</option>
  3.       <?php
  4.         if ( $seleccion == 'America' )
  5.         {
  6.             while( $fila1 = mysql_fetch_array($datos1) )
  7.             {
  8.                 echo '<option value="">' . $fila1['pais'] . '</option>';
  9.             }
  10.         }      
  11.  
  12.         if ( $seleccion == 'Europa' )
  13.         {
  14.             while( $fila2 = mysql_fetch_array($datos2) )
  15.             {
  16.                 echo '<option value="">' . $fila2['pais'] . '</option>';
  17.             }
  18.         }      
  19.  
  20.         if ( $seleccion == 'Africa' )
  21.         {
  22.             while( $fila3 = mysql_fetch_array($datos3) )
  23.             {
  24.                 echo '<option value="">' . $fila3['pais'] . '</option>';
  25.             }
  26.         }      
  27.       ?>
  28.     </select>



Saludos!


PD. Para que se contextualicen, aquí le s dejo el código completo, download, del PHP que sí funciona, pero que quiero modificar. Nota: la base de datos se llama "proyecto1" y la tabla se llama "paises", la cual contiene 3 campos: "id", "pais" y "categoria". Esta última contiene como valor el nombre del continente del país.

Última edición por berkeleyPunk; 09/03/2014 a las 18:31