Foros del Web » Programando para Internet » PHP »

Ayuda combo dinamico con BD

Estas en el tema de Ayuda combo dinamico con BD en el foro de PHP en Foros del Web. Hola expertos, Soy nuevo en php y tengo un par de dudas, espero que podáis ayudarme.. Estoy intentando enlazar dos combobox de forma dinamica (tipica ...
  #1 (permalink)  
Antiguo 11/03/2010, 12:41
 
Fecha de Ingreso: marzo-2010
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Exclamación Ayuda combo dinamico con BD

Hola expertos,

Soy nuevo en php y tengo un par de dudas, espero que podáis ayudarme..

Estoy intentando enlazar dos combobox de forma dinamica (tipica de Provincias y Poblaciones).

El problema es que no se como recoger el valor del primer combobox y pasarlo al segundo combobox, os explico un poco como lo tengo montado:

Tengo una tabla llamada Categorias (IdCategoria, nombre).
Tengo otra tabala llamada Productos (IdProducto, nombre, IdCategoria):

En el primer combobox cargo correctamente los datos de Categorias, pero en el segundo comobobox no logro cargar los productos en relacion con el IdCategoria de la tabla Categorias.


//PRIMER COMBOBOX//

Código PHP:
function cargar_combo($tabla,$value,$opt1){
$enlace mysql_connect("localhost""root""5555") or die ("No pudo conectarse : " mysql_error());
    
mysql_select_db("nombrebasedatos") or die ("No pudo seleccionarse la BD.");
    
$sql "select * from ".$tabla;
    
$res mysql_query($sql) or die (mysql_error());
    echo 
"<select name='$tabla' class='botones'>";
    while(
$fila mysql_fetch_assoc($res)){
                echo 
"<option value='$fila[$value]'>$fila[$opt1]</option>";
    }
    echo 
"</select>";
                 
mysql_close($enlace);} 

//SEGUNDO COMBOBOX//

Código PHP:
function cargar_combo2($tabla,$value,$opt1,$old_valor){
    
$enlace mysql_connect("localhost""root""5555") or die ("No pudo conectarse : " mysql_error());
    
mysql_select_db("nombrebasedatos") or die ("No pudo seleccionarse la BD.");
    
$sql "select * from ".$tabla " where IdCategoria = " .$old_valor;
/*donde $old_valor deberia ser el valor del combobox de arriba (IdCategoria)*/
    
$res mysql_query($sql) or die (mysql_error());
    echo 
"<select name='$tabla' class='botones'>";
    while(
$fila mysql_fetch_assoc($res)){
        echo 
"<option value='$fila[$value]'>$fila[$opt1]</option>";
    }
    echo 
"</select>";
                 
mysql_close($enlace);

Gracias de antemano, espero que me haya explicado bien.

Espero su respuesta porfavooooor!
  #2 (permalink)  
Antiguo 12/03/2010, 08:58
Avatar de Chupytoloco  
Fecha de Ingreso: julio-2007
Mensajes: 88
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: Ayuda combo dinamico con BD

Estan en la misma pagina los combos? o cuando pinchas sobre el primero carga una pagina con el segundo?

Si estas en la misma pagina tienes que usar ajax, sino, con pasar la variable por $_GET bastaria para que funcione el select del segundo.
__________________
Creador de blackmoons.net
----------------------------------------------------------------------
  #3 (permalink)  
Antiguo 12/03/2010, 12:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 5
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda combo dinamico con BD

Cita:
Iniciado por Chupytoloco Ver Mensaje
Estan en la misma pagina los combos? o cuando pinchas sobre el primero carga una pagina con el segundo?

Si estas en la misma pagina tienes que usar ajax, sino, con pasar la variable por $_GET bastaria para que funcione el select del segundo.
Si los combobox los tengo en la misma pagina. Me gustaria hacerlo pues con ajax pero no se exactamente como se hace.. podriais darme alguna idea?

Gracias
  #4 (permalink)  
Antiguo 12/03/2010, 13:16
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Ayuda combo dinamico con BD

ajax brother, ajax

hya muchos ejemplos de los que buscas por la red y muy bien explicados

Etiquetas: bd, combo, dinamico
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 02:17.