elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  graficas php/js
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: graficas php/js  (Leído 2,733 veces)
thejapp

Desconectado Desconectado

Mensajes: 1


Ver Perfil
graficas php/js
« en: 30 Marzo 2018, 02:28 am »

Buenas, tengo un codigo para generar una grafica de los ingresos y egresos de un hotel pero dicha grafica no se genera, o mejor dicho las barras/lineas son las que no se generan aqui el codigo:


Archivo 1 conexión.php
Código
  1. <?php
  2.  
  3.    $con=@mysqli_connect('localhost', 'root','', 'hotel_colinas');
  4.    if(!$con){
  5.        die("imposible conectarse: ".mysqli_error($con));
  6.    }
  7.    if (@mysqli_connect_errno()) {
  8.        die("Conexión falló: ".mysqli_connect_errno()." : ". mysqli_connect_error());
  9.    }
  10.  
  11. function hcie_monto($table,$mes,$periodo,$tipo){
  12. global $con;
  13. $fecha_inicial="$periodo-$mes-1";
  14. if ($mes==1 or $mes==3 or $mes==5 or $mes==7 or $mes==8 or $mes==10 or $mes==12){
  15. $dia_fin=31;
  16. } else if ($mes==2){
  17. if ($periodo%4==0){
  18. $dia_fin=29;
  19. } else {
  20. $dia_fin=28;
  21. }
  22. } else {
  23. $dia_fin=30;
  24. }
  25. $fecha_final="$periodo-$mes-$dia_fin";
  26. $query=mysqli_query($con,"select sum(hcie_monto) as hcie_monto_ac from $table where hcie_estatus = '$tipo' AND hcie_fecha>='$fecha_inicial' AND hcie_fecha<='$fecha_final'");
  27. $row=mysqli_fetch_array($query);
  28. $hcie_monto=floatval($row['hcie_monto_ac']);
  29. return $hcie_monto;
  30. }
  31. ?>

Archivo 2 hc_chart.php
Código
  1. <?php
  2. $action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:'';
  3. if($action == 'ajax'){
  4. include_once("conexion.php");//Contiene los datos de conexion a la base de datos
  5. $periodo=intval($_REQUEST['periodo']);
  6. $txt_mes=array( "1"=>"Ene","2"=>"Feb","3"=>"Mar","4"=>"Abr","5"=>"May","6"=>"Jun",
  7. "7"=>"Jul", "8"=>"Ago","9"=>"Sep","10"=>"Oct","11"=>"Nov", "12"=>"Dic"
  8. );//Arreglo que contiene las abreviaturas de los meses del año
  9.  
  10.  
  11.  
  12. $categorias []= array('Mes',"Ingresos $periodo", "Egresos $periodo ");//Nombre de la primer fila del grafico
  13. for ($inicio = 1; $inicio <= 12; $inicio++) {
  14.    $mes=$txt_mes[$inicio];//Obtengo la abreviatura del mes
  15. $st_ingreso=hcie_monto('hc_ingreso_egreso',$inicio,$periodo,'ingreso');//Obtengo el  monto de los ingresos
  16. $st_egreso=hcie_monto('hc_ingreso_egreso',$inicio,$periodo,'egreso');//Obtengo el monto de los egresos
  17. $categorias []= array($mes,$st_ingreso,$st_egreso);//Agrego elementos al arreglo
  18.  
  19.  
  20. }
  21. echo json_encode( ($categorias) );//Convierto el arreglo a formato json
  22. }
  23. ?>

Archivo 3 hc_inicio.php
Código
  1. <?php
  2.  include("hc_includes/hc_css.php");
  3. ?>
  4.    <script src="<?php echo SERVERURL; ?>js/jquery.min.js"></script>
  5.    <script type="text/javascript" src="<?php echo SERVERURL; ?>js/jsapi.js"></script>
  6.    <script type="text/javascript" src="<?php echo SERVERURL; ?>js/uds_api_contents.js"></script>
  7. <?php
  8.  include("hc_includes/hc_menuHorizontal.php");
  9.  include("hc_includes/hc_menuVertical.php");
  10. ?>
  11.  <!-- Page -->
  12.  <div class="page">
  13.    <div class="page-header">
  14.      <ol class="breadcrumb">
  15.        <li class="breadcrumb-item"><a href="<?php echo SERVERURL; ?>inicio/home/inicio">Inicio</a></li>
  16.        <li class="breadcrumb-item"><a href="javascript:void(0)">Registros</a></li>
  17.        <li class="breadcrumb-item active">Registro de Habitación</li>
  18.      </ol>
  19.  
  20.    </div>
  21.    <div class="page-content">
  22.      <!-- Panel Basic -->
  23.      <div class="panel">
  24.        <header class="panel-heading">
  25.  
  26.        </header>
  27.  
  28.                  <div align="center">
  29.  
  30.                    <select id="periodo" style="text-align: center;" class="form-control empty" onchange="drawVisualization();" >
  31.                <?php
  32.                    for($i=2017;$i<2030;$i++){
  33.                        if($i == 2018){
  34.                            echo '<option value="'.$i.'" selected>'.$i.'</option>';
  35.                        }else{
  36.                            echo '<option value="'.$i.'">'.$i.'</option>';
  37.                        }
  38.                    }
  39.                ?>
  40.  
  41.                </select>
  42.              </div>
  43.                            <div class="col-xs-12">
  44.                        <div id="chart_div" style="width: 100%; height: 400px;"></div>
  45.                    </div>
  46.  
  47.                    </div>
  48.                </div>
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.      </div>
  57.      <!-- End Panel Basic -->
  58.  
  59.  
  60.  <!-- End Page -->
  61.  <!-- Footer -->
  62.  
  63.  
  64.  
  65. <?php
  66.  
  67.  include("hc_includes/hc_footer.php");
  68.  include("hc_includes/hc_js.php");
  69.  /* Skin tools (demo site only) */
  70.  include("assets/js/Section/skintools.php");
  71.  
  72. ?>
  73.  
  74.  
  75.     <script type="text/javascript">
  76.    function errorHandler(errorMessage) {
  77.            //curisosity, check out the error in the console
  78.            console.log(errorMessage);
  79.            //simply remove the error, the user never see it
  80.            google.visualization.errors.removeError(errorMessage.id);
  81.        }
  82.  
  83.      function drawVisualization() {
  84.        // Some raw data (not necessarily accurate)
  85.        var periodo=$("#periodo").val();//Datos que enviaremos para generar una consulta en la base de datos
  86.        var jsonData= $.ajax({
  87.                        url: '<?php echo SERVERURL; ?>hc_admin/hc_estadistica/hc_chart.php',
  88.                        data: {'periodo':periodo,'action':'ajax'},
  89.                        dataType: 'json',
  90.                        async: false
  91.                    }).responseText;
  92.  
  93.        var obj = jQuery.parseJSON(jsonData);
  94.        var data = google.visualization.arrayToDataTable(obj);
  95.  
  96.    var options = {
  97.      title : 'REPORTE DE INGRESOS VS EGRESOS '+periodo,
  98.      vAxis: {title: 'Monto'},
  99.      hAxis: {title: 'Meses'},
  100.      seriesType: 'bars',
  101.      series: {5: {type: 'line'}}
  102.    };
  103.  
  104.    var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
  105.    google.visualization.events.addListener(chart, 'error', errorHandler);
  106.    chart.draw(data, options);
  107.    }
  108.  
  109.    // Haciendo los graficos responsivos
  110.      jQuery(document).ready(function(){
  111.        jQuery(window).resize(function(){
  112.         drawVisualization();
  113.        });
  114.      });
  115.      google.setOnLoadCallback(drawVisualization);
  116.    </script>



Archivo 4 hc_listado.php
Código
  1. <?php
  2.  
  3. ?>
  4. <!DOCTYPE html>
  5. <html lang="es">
  6. <head>
  7. <meta charset="UTF-8">
  8. <title>Gráficas</title>
  9.  
  10.  
  11.  
  12.        <script src="js/jsapi.js"></script>
  13.        <script src="js/uds_api_contents.js"></script>
  14.  
  15.  
  16.    <style>
  17.        .caja{
  18.            margin: auto;
  19.            max-width: 250px;
  20.            padding: 20px;
  21.            border: 1px solid #BDBDBD;
  22.        }
  23.        .caja select{
  24.            width: 100%;
  25.            font-size: 16px;
  26.            padding: 5px;
  27.        }
  28.        .resultados{
  29.            margin: auto;
  30.            margin-top: 40px;
  31.            width: 1000px;
  32.        }
  33.    </style>
  34.  
  35. </head>
  36.  
  37.  
  38. <body style="background:#f5f5f5" class="container-fluid">
  39.  
  40. <div class="clearfix"></div>
  41. <div class="row">
  42. <div class="col-xs-12">
  43. <div class="x_panel">
  44. <div class="x_title">
  45. <h2><i class="glyphicon glyphicon-book"></i>&nbsp;&nbsp;Estadísticas</h2>
  46. <div class="clearfix"></div>
  47. </div>
  48. <div class="x_content">
  49. <div class='col-md-4'>
  50.  
  51. <select id="periodo" onchange="drawVisualization();" >
  52.                <?php
  53.                    for($i=2017;$i<2030;$i++){
  54.                        if($i == 2018){
  55.                            echo '<option value="'.$i.'" selected>'.$i.'</option>';
  56.                        }else{
  57.                            echo '<option value="'.$i.'">'.$i.'</option>';
  58.                        }
  59.                    }
  60.                ?>
  61.            </select>
  62.  
  63. </div>
  64. <div class="col-xs-12">
  65. <div id="chart_div" style="width: 100%; height: 400px;"></div>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. </body>
  72. </html>
  73.  
  74. <script type="text/javascript">
  75. function errorHandler(errorMessage) {
  76.        //curisosity, check out the error in the console
  77.        console.log(errorMessage);
  78.        //simply remove the error, the user never see it
  79.        google.visualization.errors.removeError(errorMessage.id);
  80.    }
  81.  
  82.  function drawVisualization() {
  83.    // Some raw data (not necessarily accurate)
  84. var periodo=$("#periodo").val();//Datos que enviaremos para generar una consulta en la base de datos
  85. var jsonData= $.ajax({
  86.                    url: 'st_user/st_estadistica/st_chart.php',
  87. data: {'periodo':periodo,'action':'ajax'},
  88.                    dataType: 'json',
  89.                    async: false
  90.                }).responseText;
  91.  
  92. var obj = jQuery.parseJSON(jsonData);
  93. var data = google.visualization.arrayToDataTable(obj);
  94.  
  95. var options = {
  96.  title : 'REPORTE DE INGRESOS VS EGRESOS '+periodo,
  97.  vAxis: {title: 'Monto'},
  98.  hAxis: {title: 'Meses'},
  99.  seriesType: 'bars',
  100.  series: {5: {type: 'line'}}
  101. };
  102.  
  103. var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
  104. google.visualization.events.addListener(chart, 'error', errorHandler);
  105. chart.draw(data, options);
  106. }
  107.  
  108. // Haciendo los graficos responsivos
  109.  jQuery(document).ready(function(){
  110.    jQuery(window).resize(function(){
  111.     drawVisualization();
  112.    });
  113.  });
  114.  google.setOnLoadCallback(drawVisualization);
  115. </script>
  116.  


« Última modificación: 29 Mayo 2018, 19:19 pm por #!drvy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
gRAFICAS
Programación Visual Basic
systemita 3 2,659 Último mensaje 26 Mayo 2005, 01:15 am
por Slasher-K
Graficas en ASP.NET
.NET (C#, VB.NET, ASP)
versus7 1 5,185 Último mensaje 27 Mayo 2006, 07:40 am
por BADBYTE-K
Gráficas en Dev C++
Programación C/C++
rakk12 0 3,433 Último mensaje 8 Septiembre 2011, 21:21 pm
por rakk12
GRAFICAS :huh:
Hardware
Peybool 2 1,719 Último mensaje 13 Enero 2015, 16:46 pm
por Peybool
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines