Foros del Web » Programando para Internet » PHP »

hacer click en un combo y que cambien las opciones del otro combo por base de datos.

Estas en el tema de hacer click en un combo y que cambien las opciones del otro combo por base de datos. en el foro de PHP en Foros del Web. Tengo un combo y al hacer click en una de las opciones de ese combo, se cambian las opciones de el otro combo. Para esto ...
  #1 (permalink)  
Antiguo 03/09/2004, 06:54
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 1
hacer click en un combo y que cambien las opciones del otro combo por base de datos.

Tengo un combo y al hacer click en una de las opciones de ese combo, se cambian las opciones de el otro combo. Para esto utilizo una función en javascript, que si le paso valores estáticos, funciona perfecto, el tema es cuando quiero que los valores de el combo que se modifica sean tomados de la base de datos. Ahí ya no funciona.
Aquí les paso el código:
Código PHP:
<?
include ("../db_config.php");
$id_marca $_GET["id_marca"];
?>
<html> 
<head> 
  <title> 
   FAQ-1: Selects 
  </title> 
  <script language="JavaScript"> 

   function addOpt(oCntrl, iPos, sTxt, sVal){ 
     var selOpcion=new Option(sTxt, sVal); 
     eval(oCntrl.options[iPos]=selOpcion); 
   } 

   function cambia(oCntrl){ 
    while (oCntrl.length) oCntrl.remove(0); 
    <?       
    $getModelos 
hyt_query("SELECT * FROM modelos WHERE id_marca = '$id_marca'");
     while (
$rsModelos hyt_fetch_array($getModelos)){ ?>
      addOpt(oCntrl,  <?=$rsModelos['id'];?><?=$rsMarcas['nombre'];?><?=$rsModelos['id'];?>); 
    <? ?>
   } 
  </script> 
</head> 
<body> 
  <form name="frm"> 
   <table border="0"> 
    <tr> 
     <td>Marca</td> 
     <td> 
      <select name="marca" onchange="cambia(document.frm.modelo)"> 
      <? 
      $getMarcas 
hyt_query("SELECT * FROM marcas");
      while (
$rsMarcas hyt_fetch_array($getMarcas)){
      if (
$id_marca==""){ $id_marca $rsMarcas['id']; } 
      
?>
       <option value="<?=$rsMarcas['id'];?>"><?=$rsMarcas['nombre'];?></option> 
       <? ?>
      </select> 
     </td> 
     <td>&nbsp; 
       
     </td> 
     <td> 
      Modelo</td> 
     <td> 
      <select name="modelo">
      <?
      $getModelos 
hyt_query("SELECT * FROM modelos WHERE id_marca = '$id_marca'");
      while (
$rsModelos hyt_fetch_array($getModelos)){
      
?> 
       <option value="<?=$rsModelos['id'];?>"><?=$rsModelos['nombre'];?></option> 
       <? ?>
      </select> 
     </td> 
    </tr> 
   </table> 
  </form> 
</body> 
</html>
Como hago para que JavaScript interprete mi PHP?
Gracias!
__________________
:serio: :adios:
  #2 (permalink)  
Antiguo 03/09/2004, 07:06
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 4 meses
Puntos: 1
Saludos.

Coloca el script en javascript para entenderlo a ver si te puedo ayudar a armar los arrecglos que hace él pero con tus datos en la Db.

Coloca unos 2 option por select para ver el ejemplo.
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #3 (permalink)  
Antiguo 03/09/2004, 07:26
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años
Puntos: 1
José... todo el código que uso en la página está ahí en lo que pasé.
Ahí si te fijas está la funcion en java que uso y también los dos select, uno se llama marca y otro modelo.
Fijate que ahí estan... cualquier cosa avisame!

GRACIAS!!!
__________________
:serio: :adios:
  #4 (permalink)  
Antiguo 03/09/2004, 08:39
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Talvés te ayude esta pregunta que plantee hace algún tiempo Ayuda con listbox . Ahí manejo 3 tablas de forma dinámica.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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 19:59.