Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/03/2012, 11:21
naw_030586
 
Fecha de Ingreso: marzo-2012
Mensajes: 12
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Respuesta: condiciones en combos

Hola que tal gracias por contestar, bueno te comento estoy haciendo unos reportes en php, por lo que tengo 3 combos que son dependientes de una base de datos, tengo fechas de calendarios y dos radio button (de los cuales dependen el tipo de reporte).
Me pasaron un query para poder hacer el reporte, pero la verdad estoy estancada(mis conocimientos son muy basicos), ya que este query tiene que ir condicionado en los combos.
Tengo el siguiente codigo.

index.php
Código PHP:
Ver original
  1. <?php
  2.    include("conexion.php");
  3.     $link = Conectarse();
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <title>reportes</title>
  10. <link rel="stylesheet" type="text/css" href="css/estilos.css" />
  11.  
  12. <link rel="STYLESHEET" href="combo/codebase/dhtmlxcombo.css" type="text/css">
  13. <script  src="combo/codebase/dhtmlxcommon.js" type="text/javascript"></script>
  14. <script  src="combo/codebase/dhtmlxcombo.js" type="text/javascript"></script>
  15. <script> window.dhx_globalImgPath = "combo/codebase/imgs/";</script>
  16.  
  17. <script src="jquery.js"></script>
  18.  
  19. <script language="JavaScript" type="text/JavaScript"> //history.forward(1) </script>
  20.  
  21. <script language="javascript">
  22. $(document).ready(function(){
  23.     $("#combo_zone1").change(function(){
  24.                    //si estas trabajando con php recorda cambiar .asp por .php
  25.             $.post("cargaEspacioAcad.php",{ id:$(this).val() },function(data){$("#combo_zone2").html(data);})
  26.             $("#combo_zone3").html("");
  27.     });
  28.    
  29.     $("#combo_zone2").change(function(){
  30.                    //si estas trabajando con php recorda cambiar .asp por .php
  31.             $.post("cargaEspacio.php",{ id:$(this).val() },function(data){$("#combo_zone3").html(data);})
  32.     });
  33. });
  34. </script>
  35.  
  36. <script>       
  37.             function generarRpt(){
  38.             var dep = document.getElementById("combo_zone1").value;
  39.                        
  40.             var sel=0;
  41.             var elementos = document.getElementsByName("TotAsi");
  42.             var fecha = document.getElementById("campofecha").value;
  43.             var fecha2 = document.getElementById("campofecha2").value;
  44.            
  45.             if(elementos[0].checked) sel=1;
  46.             if(elementos[1].checked) sel=2;
  47.            
  48.             document.getElementById("reporte").src = "consultas.php?TipDep="+dep+"&seleccion="+sel+"&fecha="+fecha+"&fecha2="+fecha2;
  49.             //document.getElementById("reporte").src = "http://localhost/portal/consultas.php?TipDep="+tpoDep;
  50.         }
  51. </script>
  52.  
  53. <link type="text/css" href="calendario/css/smoothness/jquery-ui-1.8.16.custom.css" rel="stylesheet"/>  
  54. <script type="text/javascript" src="calendario/js/jquery-1.6.2.min.js"></script>
  55. <script type="text/javascript" src="calendario/js/jquery-ui-1.8.16.custom.min.js"></script>
  56.  
  57. <script type="text/javascript">
  58. jQuery(function($){
  59.     $.datepicker.regional['es'] = {
  60.         closeText: 'Cerrar',
  61.         prevText: '&#x3c;Ant',
  62.         nextText: 'Sig&#x3e;',
  63.         currentText: 'Hoy',
  64.         monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
  65.         'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
  66.         monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
  67.         'Jul','Ago','Sep','Oct','Nov','Dic'],
  68.         dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado'],
  69.         dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
  70.         dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
  71.         weekHeader: 'Sm',
  72.         dateFormat: 'dd/mm/yy',
  73.         firstDay: 1,
  74.         isRTL: false,
  75.         showMonthAfterYear: false,
  76.         yearSuffix: ''};
  77.     $.datepicker.setDefaults($.datepicker.regional['es']);
  78. });
  79.  
  80. $(document).ready(function(){
  81.    $("#campofecha").datepicker({
  82.       showOn: 'both',
  83.       buttonImage: 'calendario/img/calendar.png',
  84.       buttonImageOnly: true,
  85.       changeMonth:true,
  86.       changeYear: true,
  87.       minDate: new Date(2000,1 ,1 ),     
  88.       numberOfMonths: 1      
  89.    });
  90.     $("#campofecha2").datepicker({
  91.       showOn: 'both',
  92.       buttonImage: 'calendario/img/calendar.png',
  93.       buttonImageOnly: true,
  94.       changeMonth:true,
  95.       changeYear: true,
  96.       minDate: new Date(2000,1 ,1 ),     
  97.       numberOfMonths: 1      
  98.    });  
  99. })
  100. </script>
  101.  
  102.  
  103. <style type="text/css">
  104. <!--
  105. #Layer1 {
  106.     position:absolute;
  107.     width:200px;
  108.     height:115px;
  109.     z-index:1;
  110. }
  111. #Layer2 {
  112.     position:absolute;
  113.     width:898px;
  114.     height:305px;
  115.     z-index:1;
  116.     left: 312px;
  117.     overflow: scroll;
  118.     top: 105px;
  119. }
  120. -->
  121. </style>
  122. </head>
  123. <body>
  124. <div class="wrapper">
  125.     <div class="header">
  126.         <img src="img/encabezado_uaem.jpg" alt="uaem" />
  127.     </div>
  128.     <p><br />
  129. <!--<form action="consultas.php" method="post" name="frmRrpDidepa">-->
  130. <form action="javascript:;" method="post" name="frmRrpDidepa">
  131. <table width="983" height="344" border="2">
  132.   <tr>
  133.     <th width="309" height="189" rowspan="2" scope="col">
  134.     <div align="center">
  135.       <p>&nbsp;</p>
  136.       <p>Seleccione una o mas opciones para la busqueda</p>
  137.       <p>&nbsp; </p>
  138.       <p> <br>
  139.       </p>   
  140.      <div align="left">
  141.        <p><span>Tipo de Dependencia:</span></p>
  142.        <br>
  143.        <p><select style='width:300px;'  id="combo_zone1" name="TipDep">
  144.              <option value="" selected="selected">------ Seleccione uno ------</option>
  145.              <option value="INTERNO">INTERNO</option>
  146.              <option value="EXTERNO">EXTERNO</option>
  147.         </select>
  148.        <p>&nbsp;</p>
  149.        </p>
  150.      
  151.         <p><span>Tipo de Espacio Académico:</span></p>
  152.         <br>
  153.          <p><select style='width:300px;'  id="combo_zone2" name="TipEspAca">
  154.              <option value="" selected="selected">------ Todos ------</option>
  155.             </select>
  156.         </p>
  157.          <p>&nbsp;</p>
  158.          
  159.          <p><span>Espacio Acad&eacute;mico:</span></p>
  160.          <br>
  161.          <p><select style='width:300px;'  id="combo_zone3" name="EspAca">
  162.              <option value="" selected="selected">------ Todos ------</option>
  163.              <?php
  164.             </select>
  165.         </p>
  166.          <p>&nbsp;</p>
  167.          <p>Fecha de inicio de vigencia del curso</p>
  168.          <br />
  169.          Desde: <input type="text" name="fecha" id="campofecha"><br /><br />
  170.          Hasta: <input type="text" name="fecha2" id="campofecha2">
  171.          <br />
  172.          <br />
  173.            
  174.          <p>
  175.          <input  name="TotAsi" type="radio" value="1" />
  176.             Total de Asistentes<br>
  177.          <input   name="TotAsi" type="radio" value="2" />
  178.             Total de profesores Capacitados</p>
  179.      <p>
  180.      <br>  
  181.        </p>        
  182.              <!--<input name="enviar" type="submit" value="Consultar"/>-->
  183.              <input name="enviar" type="button" value="Consultar" onclick="generarRpt();"/>
  184.              <input name="borrar" type="reset" value="Borrar"/>
  185.              
  186.       <p></p>
  187.      </div>
  188.     </div></th>
  189.  
  190.    
  191.     <th width="656" height="269" nowrap="nowrap" scope="col">
  192.    
  193.     <iframe src="consultas.php" width="100%" height="640" frameborder="0" id="reporte" scrolling="auto"></iframe>

cargaEspacioAcad.php
Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $link = Conectarse();
  4. $TipDep = $_REQUEST['id'];
  5. if($TipDep=="INTERNO"){
  6.     $query = mysql_query("SELECT DISTINCT AdsNiv FROM tblads WHERE AdsNiv NOT IN('AFINES','INCORPORADAS','OTROS') GROUP BY AdsNiv")
  7.     or die(mysql_error("Error al hacer la consulta"));
  8. }  
  9. if($TipDep=="EXTERNO"){
  10.     $query = mysql_query("SELECT DISTINCT AdsNiv FROM tblads WHERE AdsNiv NOT IN('ADMINISTRACION CENTRAL','MEDIO','C. DE INVESTIGACION','CUS Y UAPS','SUPERIOR') GROUP BY AdsNiv")
  11.  
  12.     or die(mysql_error("Error al hacer la consulta"));
  13. }
  14.     echo "<option value=''>---- Todos -----</option>";
  15.    
  16. while($options = mysql_fetch_object($query)){
  17.     echo "<option value='$options->AdsNiv'>".utf8_encode($options->AdsNiv)."</option>";
  18. }
  19.  
  20. ?>

cargaEspacio.php
Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $link = Conectarse();
  4. $TipEspAca = $_REQUEST['id'];
  5. if($TipEspAca=="")
  6.     $query = mysql_query("SELECT AdsNom FROM tblads") or die(mysql_error("Error al hacer la consulta"));
  7. else
  8.     $query = mysql_query("SELECT AdsNom FROM tblads where AdsNiv='".$TipEspAca."'") or die(mysql_error("Error al hacer la consulta"));
  9.  
  10. echo "<option value=''>---- Todos -----</option>"; 
  11.  
  12. while($options = mysql_fetch_object($query)){
  13.     echo "<option value='$options->AdsNom'>".utf8_encode($options->AdsNom)."</option>";
  14. }
  15.  
  16. ?>

el query que me pasaron es el siguiente:
Código HTML:
Ver original
  1. select b.adsniv,b.adsnom espacio,c.crstip,count(d.clvasi) total_asistentes
  2.  
  3. from tblasi a LEFT JOIN tblads b ON (a.asiads=b.adsclv)
  4.  
  5. LEFT JOIN detcrs d ON (a.asiclv=d.clvasi)
  6.  
  7. LEFT JOIN tblcrs c ON (c.crsclv=d.clvcrs)
  8.  
  9. where 1=1
  10.  
  11. and ucase(trim(c.crstip))='DES. HUM.' or ucase(trim(c.crstip))='DIDACTICOS' or ucase(trim(c.crstip))='DISCIPLINARIOS'
  12.  
  13. or ucase(trim(c.crstip))='EBC' or ucase(trim(c.crstip))='ENSEÑANZA APRENDIZAJE' or ucase(trim(c.crstip))='TRANSVERSALIDAD'
  14.  
  15. or ucase(trim(c.crstip))='PROINSTA'
  16.  
  17. /*and ucase(trim(b.adsniv))='CUS Y UAPS' /* por ejemplo si elige dependencias internas y CUS y UAPS
  18.  
  19. /*and b.adsclv=67 /*por ejemplo si elige cu valle de mexico su clave es 67 */
  20.  
  21. /*and c.crsini>='2002-01-01'  /*condiciones vigencia del curso
  22.  
  23. and c.crsfin<='2002-02-04'*/
  24.  
  25. group by b.adsniv,b.adsnom,c.crstip
  26.  
  27. order by b.adsniv,b.adsnom,c.crstip
este query lo tengo que hacer condicional en los combos, mi pregunta seria como lo haria??