Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/08/2011, 12:30
wibav
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 2
De acuerdo Respuesta: Selects dependientes

Bueno muchas gracias a todos pero gracias al post de alguien que coloco en este mismo Foro resolví (el cual se me perdio el link)

Que hice, Bueno coloque 4 Selects:

El 1 Seleccionas una Empresa.

El 2 Seleccionas una Sucursal. (Este se llena de acuerdo a la empresa seleccionada).

El 3 Seleccionas un Modulo. (Este se llena al momento de selecionar una sucursal pero de acuerdo a la empresa seleccionada) .

El 4 Seleccionas una Transaccion. (Este se llena de acuerdo al Modulo seleccionado).

El codigo va asi:

index.php:

Código PHP:
<?php
include_once ('conexion.php');
$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();
$query="select * from cgempresa";
$result=$conexion->ejecutarQuery($query);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>INDEX</title>
<script type="text/javascript" src="cargarEmails.js"></script>  
<script type="text/javascript" src="jquery.js"></script>
</head>

<body>
<form id="form" action="" method="post">
<table>
    <tr>
        <td>Empresa:</td>
        <td><select name="empresa" id="empresa"  onchange="cargarSucursales();" />
        <option value="null">---Seleccione---</option>
<?      while($array=mysql_fetch_assoc($result)){ ?>
        <option value="<?=$array['em_id']?>"><?=$array['em_nombre']?></option>
<? }?>
        </select></td>
        <td>Sucursal:</td>
        <td><select name="sucursal" id="sucursal" onchange="cargarModulos();" />
        <option value="null">---Seleccione---</option>
        </select></td>
        <td>Modulo:</td>
        <td><select name="modulo" id="modulo" onchange="cargarTransacion();" />
        <option value="null">---Seleccione---</option>
        </select></td>
        <td>Transacion:</td>
        <td><select name="transacion" id="transacion" />
        <option value="null">---Seleccione---</option>
        </select></td>
</tr>
</table>
</form>

</body>
</html>
En mi caso el Archivo Conexion.php incluido es una conexion a MySql orientado a Objeto

El Script:

Código:
cargarEmails.js

function cargarSucursales(){
    $('#sucursal').html('<option selected>Cargando</option>');           
    var idusuario= $('#empresa').val();
    var toLoad= 'ajax_sucursal.php?empresa='+ idusuario ;
    $.post(toLoad,function (responseText){                           
    $('#sucursal').html(responseText);   
                            });
}
function cargarModulos(){
    $('#modulo').html('<option selected>Cargando</option>');           
    var id= $('#empresa').val();
    var toLoad= 'ajax_modulos.php?empresa='+ id ;
    $.post(toLoad,function (responseText){                           
    $('#modulo').html(responseText);   
                            });
}
function cargarTransacion(){
    $('#transacion').html('<option selected>Cargando</option>');           
    var id= $('#modulo').val();
    var toLoad= 'ajax_trans.php?modulo='+ id ;
    $.post(toLoad,function (responseText){                           
    $('#transacion').html(responseText);   
                            });
}
Y por ultimos los archivos que hacen el llenado de los Selects:

ajax_sucursal.php:

Código PHP:
<?php
include_once ('../Gestor/conexion.php');
$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();

$usuario$_GET['empresa'];

$query="select * from cgsucursal where su_idmepresa='$usuario'";
$result=$conexion->ejecutarQuery($query); ?>
        <option value="null">---Seleccione---</option>
<? while($rowmysql_fetch_array($result)){ ?>
        <option value="<?=$row['su_id']?>"><?=$row['su_nombre']?></option>
<? ?>
ajax_modulos.php

Código PHP:
<?php
include_once ('../Gestor/conexion.php');
$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();

$usuario$_GET['empresa'];

$query="select * from cgmodulo where mo_idempresa='$usuario'";
$result=$conexion->ejecutarQuery($query); ?>
        <option value="null">---Seleccione---</option>
<? while($rowmysql_fetch_array($result)){ ?>
        <option value="<?=$row['mo_id']?>"><?=$row['mo_nombre']?></option>
<? ?>
ajax_trans.php

Código PHP:
<?php
include_once ('../Gestor/conexion.php');
$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();

$usuario$_GET['modulo'];

$query="select * from cgtransacciones where tra_idmodulo='$usuario'";
$result=$conexion->ejecutarQuery($query); ?>
        <option value="null">---Seleccione---</option>
<? while($rowmysql_fetch_array($result)){ ?>
        <option value="<?=$row['tra_tipo']?>"><?=$row['tra_maestro']?></option>
<? ?>
P.D: Yo use este codigo de la duda de otra persona que posteo en este mismo foro solo que no recuerdo el link.

el Codigo de esa persona era para 2 Selects dependientes yo lo aumente a 4 por que era mi necesidad

Primera vez que Posteo algo de Programacion Perdonen mi mala forma de Explicar si tienen dudas pregunten u opinen yo tratare de revizar algo seguido...