hola... he encontrado el codigo que ha puesto cluster en la faq y que actualmente no toma.. asi q lo ingreso
 
Tema: Formularios+Mysql 
Pregunta: Como hacer una lista desplegable (<select> ) con valores de una tabla Mysql que dependa del valor seleccionado en la primera. 
Respuesta: 
Se trata de hacer una consulta a tu tabla "hija" con la clausula (confición) que identifique la relación entre ambas tablas. (usando como clave un campo de nuestra tabla hija q nos haga de clave foranea para nuestra consulta). En este caso usaremos el campo id_padre de la tabla_hija como "clave foranea" .. ambos del mismo tipo y relación 1 -> N (1 registro es a muchos registros de la otra tabla ..) 
Partiende de una estructura SQL así: (como ejemplo completo de funcionamiento ..adaptenla a sus necesidades)    
 Código PHP:
    #
# Estructura de tabla para tabla `tabla_hija`
#
 
CREATE TABLE tabla_hija (
  id tinyint(3) unsigned NOT NULL auto_increment,
  id_padre tinyint(3) unsigned NOT NULL default '0',
  item_texto varchar(255) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
 
#
# Volcar la base de datos para la tabla `tabla_hija`
#
 
INSERT INTO tabla_hija VALUES (1, 1, 'tabla_hija - Item grupo 1 bla bla bla');
INSERT INTO tabla_hija VALUES (2, 2, 'tabla_hija - grupo 2 item 1');
INSERT INTO tabla_hija VALUES (3, 2, 'tabla_hija - grupo 2 item 2');
INSERT INTO tabla_hija VALUES (4, 3, 'tabla_hija - grupo 3 item probando');
INSERT INTO tabla_hija VALUES (5, 1, 'tabla_hija - item grupo 1 noseq pner');
# --------------------------------------------------------
 
#
# Estructura de tabla para tabla `tabla_padre`
#
 
CREATE TABLE tabla_padre (
  id tinyint(3) unsigned NOT NULL auto_increment,
  item_texto varchar(255) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
 
#
# Volcar la base de datos para la tabla `tabla_padre`
#
 
INSERT INTO tabla_padre VALUES (1, 'Grupo 1');
INSERT INTO tabla_padre VALUES (2, 'Grupo 2');
INSERT INTO tabla_padre VALUES (3, 'Grupo 3');
INSERT INTO tabla_padre VALUES (4, 'Grupo 4');
 
--------------------------------------------------------------------------------
 
 
Y el código de nuestras consultas a realizar: 
    
   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";
}    
  
Saludos...