Combobox dinámico

Jorvidu,
Gusto de saludarte, necesito tu ayuda en relación a la creación de un combobox dinámico en php y mysql.
El problema es que tengo una sola tabla en donde tengo un campo Id de productos y otro campo que corresponde código del producto. Mi idea es crear 2 combobox en donde el primero busque en la base de datos y me despliegue todos los Id, luego al seleccionar un id me muestre en el combobox2 el código del producto al cual esta ligado dicho Id.
La verdad es que he logrado que en el combobox1 me muestre todos los Id de la tabla pero al momento de seleccionar una opción no me resulta que me muestre en el segundo combobox el código del producto.
Espero me puedas ayudar ya que no he logrado dar con la solución.
Te envío mi código para ver si me puedes ayudar
Saludos
El chelo
<form id="form1" name="form1" method="post" action="">
<table width="752" border="1" align="center">
<tr>
<td class="Estilo6">Código producto
<td colspan="3" class="Estilo3">
<select name="combo1">
<?php
//aca va la conección a la BD
$busqueda_producto = mysql_query("SELECT producto_codigo FROM producto", $link);
while($row = mysql_fetch_array($busqueda_producto))
{
$producto=$row['producto_codigo'];
//$direc=$row['sucursal_direc'];
echo "<option value='$producto'>".$producto."</option>\n";
}
?>
</select>
<select name="combo2" onChange="submit();">
<?php
//aca va la conección a la BD
$busqueda_codigo = mysql_query("SELECT producto_biencod FROM producto where producto_codigo='$producto'", $link);
while($row = mysql_fetch_array($busqueda_codigo))
{
$codigo=$row['producto_biencod'];
//$direc=$row['sucursal_direc'];
echo "<option value='$codigo'>".$codigo."</option>\n";
}
?>
</select></td>
</form>

1 Respuesta

Respuesta
jorvidu,
Eh logrado seleccionar el id desde un combobox y también logre que me muestre en un textbox el bien al cual esta ligado dicho id, pero ahora tengo otro
Problema cuando selecciono un id, la pantalla hace como un refresh y me borra todos lo datos que tengo ingresados en otros textbox, como puedo evitar eso.
el_chelo
Te envío el código por si tienes tiempo y puedes echarle un vistazo
function Seleccionar(sel)
{
//Valor
var CodCombo = document.getElementById(codigo.id).value;
//Item
var DesCombo = document.getElementById(codigo.id).options[CodCombo].innerText;
alert('Valor:' + CodCombo+' ' + ' - Item: ' + DesCombo);
}
function mostrar_codigo(sel)
{
document.getElementById("codigo").value = sel.value
}
<body>
<form id="form1" name="form1" method="post" action="">
<table width="752" border="1" align="center">
<tr>
<td class="Estilo6">Código producto
<td colspan="3" class="Estilo3">
<select name="id" id="dato" onChange="mostrar_codigo(this);">
<option value="id">Seleccione Id</option>
<?php
//aca va la conección a la BD
$busqueda_producto = mysql_query("SELECT producto_codigo FROM producto", $link);
while($row = mysql_fetch_array($busqueda_producto))
{
$producto=$row['producto_codigo'];
//$direc=$row['sucursal_direc'];
echo "<option value='$producto'>".$producto."</option>\n";
}
?>
</select>
<input type="submit" name="cmd_muestra" value="Mostrar">
<?php
global $elemento;
global $boton;
global $id;
if((isset($_POST['codigo'])) and (isset($_POST['cmd_muestra'])))
{
$boton=$_POST['cmd_muestra'];
$elemento=$_POST['codigo'];
$busqueda_codigo = mysql_query("SELECT producto_biencod FROM producto where producto_codigo='$elemento'", $link);
while($row = mysql_fetch_array($busqueda_codigo))
{
$elemento=$row['producto_biencod'];
//$direc=$row['sucursal_direc'];
}
$id=$elemento;
}
?>
<input type="hidden" name="codigo" id="codigo" size="3">
<input type="text" name="id" id="id" size="35" value="<?php echo $id;?>">
</tr>
</form>
</body>
A todo esto use un botón submit para realizar la acción, si además de ayudarme con lo otro sabes como hacer la acción sin un botón ósea solo con seleccionar un id y que me despliegue la información el el textbox te lo agradecería.
Puedes evitar el refresh con Ajax, lo que complica un poco todo, pero si sigues el ejemplo que te dí, puedes utilizar los saltos de cuando se decide una opción del combo, para enviar los valores precedentes que tengas seleccionados, y así se recargan al entrar otra vez en la página

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas