Ver Mensaje Individual
  #15 (permalink)  
Antiguo 04/10/2006, 17:25
drbit
 
Fecha de Ingreso: mayo-2006
Mensajes: 120
Antigüedad: 18 años
Puntos: 3
Hola aquí te dejo un ejemplo de como lo usé yo y funcionó muy bien.

Código PHP:
<?
//conexion
$cnx mysql_connect("localhost","root","");
//nombre base de datos
mysql_select_db('sgi');
//clase de la cual te hablo
include 'baaSelect.php';
//creas un objeto
$sel = new baaSelect();


//addSelect(selectName, srcTable, idField, descripField [, fkField [, order [, defaultText]]] )

/*Cargamos al objeto los select. Los select se cargan
consultando a la base de datos. Por ejemplo el primero:
 se llama 'nombreSelect1', consulta a 'tabla1' para obtener
 'value=tabla1_clave' (es decir PrimaryKey), y va a mostrar
 entre <option value="tabla1_clave">tabla1_descripcion</option>. 
El '1' es para que se ordenen por descripcion. El "--no seleccionado--" 
es lo que se va a mostrar por defecto en el select.
Ahora en segundo select, agregamos el campo de 
tabla2_clave_foranea_de_tabla1 que vendría a hacer 
el que relaciona a las 2 tablas. Lo mismo con el 3ro que 
depende de lo que se elija en el segundo. Como dato, 
yo lo use con 4 niveles y funcionó perfecto */

$sel->addSelect('nombreSelect1''tabla1'
'tabla1_clave''tabla1_descripcion','',1,'--no seleccionado--');
$sel->addSelect('nombreSelect2''tabla2''tabla2_clave'
'tabla2_descripcion','tabla2_clave_foranea_de_tabla1',1,'--no seleccionado--');
$sel->addSelect('nombreSelect3''tabla3''tabla3_clave'
'tabla3_descripcion','tabla4_clave_foranea_tabla2',1,'--no seleccionado--');

/*Se termina con el HTML y llamando a dos metodos 
de la clase makeScript() en el head que escupe todo 
el JavaScript necesario para evitar recargar la página 
y makeSelect('nombreSelect') dentro de etiquetas form 
para crear los <select>*/
?>
<HTML>
<HEAD>

<title>Ejemplo</title>

<? $sel->makeScript() ?>

</HEAD>
<BODY>
<form method="get">
<strong>Tabla1: </strong><?$sel->makeSelect('nombreSelect1');?><br />
<strong>Tabla2: </strong><?$sel->makeSelect('nombreSelect2');?><br />
<strong>Tabla3: </strong><?$sel->makeSelect('nombreSelect3');?><br />
</form>
</BODY>
</HTML>
Muy piola no?
Espero que te sirva, a mi me salvo la vida.

Adios.
__________________
programación php