Foros del Web » Programando para Internet » PHP »

PHP OO condiciones en combos

Estas en el tema de condiciones en combos en el foro de PHP en Foros del Web. hola que tal. Estoy haciendo unos reportes en php, tengo dos de tres combos de los cuales son dependientes de una base datos. De estos ...
  #1 (permalink)  
Antiguo 16/03/2012, 18:43
 
Fecha de Ingreso: marzo-2012
Mensajes: 12
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta condiciones en combos

hola que tal. Estoy haciendo unos reportes en php, tengo dos de tres combos de los cuales son dependientes de una base datos. De estos mismos depende el tipo de reporte que requiere el usuario. Qusiera saber como se pueden hacer condiciones dentro de los combos????

Gracias
  #2 (permalink)  
Antiguo 16/03/2012, 20:08
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: condiciones en combos

Hola que tal.

a que te refieres con lo de las condiciones en los combos, puedes explicar más detalladamente.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 19/03/2012, 11:21
 
Fecha de Ingreso: marzo-2012
Mensajes: 12
Antigüedad: 12 años, 1 mes
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??

Etiquetas: combos, condiciones, usuarios
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 10:13.