Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Combos dependientes

Estas en el tema de Combos dependientes en el foro de Frameworks JS en Foros del Web. Hola, les cuento mi problema... Tengo una tabla "marcas" con "id" y "nombre", y dsp tengo otra tabla "productos" que tiene "idmarca" "idproductos" y "productos" ...
  #1 (permalink)  
Antiguo 06/01/2009, 19:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 31
Antigüedad: 15 años, 4 meses
Puntos: 0
Combos dependientes

Hola, les cuento mi problema...

Tengo una tabla "marcas" con "id" y "nombre", y dsp tengo otra tabla "productos" que tiene "idmarca" "idproductos" y "productos" como campos...

ahora bien este es el codigo php con el que quiero que el usuario al seleccionar una "marca" me devuelva todos los posibles productos

el archivo "a" :

Cita:
<p><label for="actividad">Actividad:</label>
<select name="Actividades" onchange="javascript:cargarCombo('www.homeoleoyart e.com.ar/b.php', 'Actividades', 'Div_Subactividades')" id="Actividades">

<?php

$dbhost="localhost";
$dbuser="user";
$dbpass="pass";
$dbname="nombre base de datos";
$query = "SELECT * FROM marcas";

$conID=mysql_connect($dbhost,$dbuser,$dbpass) or die("Error al conectar a la base de datos".mysql_error());

mysql_select_db($dbname, $conID);

$result=mysql_query($query);

$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$Id = mysql_result($result,$i,"id");
$Actividad = mysql_result($result,$i,"nombre");
?>
<option value=<? echo $Id; ?>>
<? echo $Actividad ?>
</option>
<?
$i++;
}
?>
</select>
</p>
<p>
<div id="Div_Subactividades">

<label for="SubActividad">SubActividad:</label>
<select name="SubActividades" id="SubActividades" class="select">
</select>
</div>
</p>

<script type="text/javascript">
var peticion = false;
var testPasado = false;
try {
peticion = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
peticion = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
peticion = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
peticion = false;
}
}
}
if (!peticion)
alert("ERROR AL INICIALIZAR!");


function cargarCombo (url, comboAnterior, element_id) {
//Obtenemos el contenido del div
//donde se cargaran los resultados
var element = document.getElementById(element_id);
//Obtenemos el valor seleccionado del combo anterior
var valordepende = document.getElementById(comboAnterior)
var x = valordepende.value
//construimos la url definitiva
//pasando como parametro el valor seleccionado
var fragment_url = url+'?Id='+x;
element.innerHTML = '<img src="Imagenes/loading.gif" />';
//abrimos la url
peticion.open("GET", fragment_url);
peticion.onreadystatechange = function() {
if (peticion.readyState == 4) {
//escribimos la respuesta
element.innerHTML = peticion.responseText;
}
}
peticion.send(null);
}
</script>
y el archivo "B" :

Cita:
<?
$idmarca = $_REQUEST['id'];
?>

<label for="producto">producto:</label>
<select name="SubActividades" id="SubActividades" class="select">


<?php

$dbhost="localhost";
$dbuser="w1600558";
$dbpass="22SUlulibe";
$dbname="w1600558_home";
$query = "SELECT * FROM marcas";

$conID=mysql_connect($dbhost,$dbuser,$dbpass) or die("Error al conectar a la base de datos".mysql_error());

mysql_select_db($dbname, $conID);


$query = "SELECT * FROM productos WHERE idmarca=$idmarca";
$result=mysql_query($query);
$num= mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$idproducto = mysql_result($result,$i,"idproducto");
$producto = mysql_result($result,$i,"producto");
?>
<option value=<? echo $idproducto; ?>>
<? echo htmlentities($SubActividad) ?>
</option>
<?
$i++;
}
?>
</select>
como tirar error no me tira nada, pero tengo los menus, sin datos adentro :S como si pasara por la base de datos y no sacara nada

EDITO: Ahora como figura el codigo aca arriba, funciona la "primera" parte del script.. es decir me aparecen las marcas pero cuando selecciono una para q me devuelva en otro select sigo en la nada, esta vacio totalmente :S

EDITO: resfresca la segunda lista donde tiene que cargar los datos una vez que elijo la opcion en la primera pero no da nada, me parece que necestio unir las tablas no se..

Última edición por Yawe; 06/01/2009 a las 20:40
  #2 (permalink)  
Antiguo 06/01/2009, 19:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Combos dependientes

Tema trasladado a AJAX
  #3 (permalink)  
Antiguo 07/01/2009, 13:24
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Combos dependientes

Hola
Seria mejor que subieras tu script a internet para poder depurarlo e indicarte exactamente cual es el error.

O puedes probar con una forma menos confusa de hacer combos dependientes usando jquery y que es bastante facil de adaptar a tu script

http://www.miguelmanchego.com/2009/c...s-ajax-jquery/
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 00:20.