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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  ¿Como contar los resultados de un parametro?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Como contar los resultados de un parametro?  (Leído 3,270 veces)
josfed

Desconectado Desconectado

Mensajes: 5


Ver Perfil
¿Como contar los resultados de un parametro?
« en: 13 Marzo 2018, 04:56 am »

Código
  1. <?php
  2.  
  3.  require 'jpgraph/src/jpgraph.php';
  4.  require 'jpgraph/src/jpgraph_bar.php';
  5.  
  6.  
  7. $conexion = mysql_connect("localhost","root","");
  8.  mysql_select_db("enerinco_control_documentos",$conexion);  
  9.  
  10.  mysql_query("SET NAMES 'utf8'");
  11.  
  12.            $sentencia="SELECT * FROM documento";
  13.            $resultado=mysql_query($sentencia);
  14.  
  15.            $fecha = date("Y-m-d");
  16.            $contador = 0;
  17.            while($filas=mysql_fetch_assoc($resultado))
  18.            {
  19.  
  20.                      if ($filas['fecha_limite_atencion'] > $fecha) {
  21.  
  22.                              $status = "En tiempo";
  23.  
  24.  
  25.                                      } else if ($filas['fecha_limite_atencion']==$fecha) {
  26.  
  27.                                                    $status = "En limite de tiempo";
  28.  
  29.  
  30.                                      } else if ($filas['fecha_limite_atencion'] < $fecha) {
  31.  
  32.                                                      $status = "Fuera de limite de tiempo";                                                                                                        
  33.  
  34.                      }
  35.  
  36.  
  37.                      $cantidad['fecha_limite_atencion']= count($filas['fecha_limite_atencion']);
  38.                      echo $status . " " . $cantidad['fecha_limite_atencion'];                                                                                                                                                                                                                                                                                                                                                                                                                                                            
  39.                      echo "<br>";
  40.          }
  41.  
  42. ?>

Buenas noches amigos, estoy iniciando en el mundo de la programacion y tengo un problemita, necesito crear una grafica para medir los status de unos registros pero, en la tabla no existen los estatus, ni se pueden crear tan facilmente ya que usaron el Grocery Crud para el codigo, por lo que, solo podemos trabajar con la fecha limite de atencion de cada registro que esta creado en la tabla de la BD. Hice mi consulta de las fechas y le meti condiciones para identificar cada registro por status, no se si sea la mejor forma, el detalle es que al mandar a imprimir en pantalla me imprime todos los registros y yo solo requiero que me imprima el total de cada status.

Esto es lo que me imprime en pantalla:
Fuera de limite de tiempo: 1
En tiempo: 1
En tiempo: 1
En tiempo: 1
Fuera de limite de tiempo: 1


Lo que deseo que me imprima es de la siguiente forma:
Fuera de limite de tiempo: 2
En tiempo: 3


Espero me puedan apoyar, muchas gracias por su atencion.








· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex


« Última modificación: 13 Marzo 2018, 05:04 am por engel lex » En línea

Penguin

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: ¿Como contar los resultados de un parametro?
« Respuesta #1 en: 13 Marzo 2018, 13:22 pm »

Claro, es que los mensajes están dentro de un while y al ser un condicional, mientras se cumpla la condición que propone entre () el mensaje se repite en forma de bucle. En lugar de mostrar un mensaje, deberías almacenar el valor en una variable e ir incrementándolo, algo así:

Código
  1. $a = 0; // Variable para "En tiempo"
  2. $b = 0; // Variable para "En limite de tiempo"
  3. $c = 0; // Variable para "Fuera de limite de tiempo"
  4. while($filas=mysql_fetch_assoc($resultado))
  5.            {
  6.  
  7.                      if ($filas['fecha_limite_atencion'] > $fecha) {
  8.  
  9.                             $a++;
  10.  
  11.  
  12.                                      } else if ($filas['fecha_limite_atencion']==$fecha) {
  13.  
  14.                                                    $b++;
  15.  
  16.  
  17.                                      } else if ($filas['fecha_limite_atencion'] < $fecha) {
  18.  
  19.                                                      $c++;                                                                                                        
  20.  
  21.                      }
  22. echo "En tiempo: $a \n";
  23. echo "En limite de tiempo: $b \n";
  24. echo "Fuera de limite de tiempo: $c \n";
  25.  

No recuerdo si el salto de línea funcionaba así en php, pero cualquier cosa modifica los \n por clásicos <br> de html.


En línea

josfed

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ¿Como contar los resultados de un parametro?
« Respuesta #2 en: 13 Marzo 2018, 18:27 pm »

Buenos días amigo, gracias si funciona bien el codigo que mandaste....


Ahora tengo otro problemita, este codigo lo quiero adaptar al highcharts para hacer unas graficas, pero me pide dos parametros que seria el de status y el de las variables a, b y c. como puedo meter a un parametro las variables (a,b yc) y los status 1,2 y 3? esto para que solo me queden los dos parametros que require el codigo de highcharts

 
            $a = 0; // Variable para "En tiempo"
            $b = 0; // Variable para "En limite de tiempo"
            $c = 0; // Variable para "Fuera de limite de tiempo"

            while($filas=mysql_fetch_assoc($resultado))
                        {
             
                                  if ($filas['fecha_limite_atencion'] > $fecha) {
             
                                              $a++;
                                              $status1 = "En tiempo: ";
             
             
                                         } else if ($filas['fecha_limite_atencion']==$fecha) {
             
                                              $b++;
                                              $status2 = "En limite de tiempo:";
             
             
                                         } else if ($filas['fecha_limite_atencion'] < $fecha) {
             
                                              $c++;
                                              $status3 = "Fuera de limite de tiempo: ";                                                                                                       
                                             
                                  }

                        }           
           
            echo $status1 . $a;
            echo "<br>";

            echo $status2 . $b;
            echo "<br>";
           
            echo $status3 . $c;




Gracias por tu atencion.
En línea

Penguin

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: ¿Como contar los resultados de un parametro?
« Respuesta #3 en: 13 Marzo 2018, 21:37 pm »

A ver si entiendo: necesitar dibujar esos 3 datos en un gráfico, utilizando alguna función de highcharts que te pide dos parámetros? Por ejemplo: highcharts(parametro1, parametro2)

De ser así, necesitaría ver cuál es el código fuente de la función highcharts() para poder ayudarte. Ya que la misma en sí, debe inicializar el gráfico y con otra, graficar. Imagino debe usar POO o algo por el estilo.
En línea

josfed

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ¿Como contar los resultados de un parametro?
« Respuesta #4 en: 14 Marzo 2018, 01:29 am »

Buenas tardes amigo, asi es, te mando el codigo donde se manda llamar la grafica, en esta linea es donde se agregan los ragos: ['<?php echo $status; ?>', <?php echo $a, $b, $c ?>],




<?php
            require_once("conexion/conexion.php");

?>

<!DOCTYPE HTML>
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>Highcharts Example</title>

      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
      <style type="text/css">
${demo.css}
      </style>
      <script type="text/javascript">
$(function () {
    $('#container').highcharts({
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        title: {
            text: 'VISTA DE STATUS DE DOCUMENTOS DE ENTRADA'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                    style: {
                        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                    }
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'Documentos de entrada',
            data: [
         
         <?php
         
            $sentencia="SELECT * FROM documento";
            $resultado=mysql_query($sentencia);

            $fecha = date("Y-m-d");
            $a = 0; // Variable para "En tiempo"
            $b = 0; // Variable para "En limite de tiempo"
            $c = 0; // Variable para "Fuera de limite de tiempo

            while($filas=mysql_fetch_assoc($resultado))
                        {
             
                                  if ($filas['fecha_limite_atencion'] > $fecha) {
             
                                              $a++;
                                              $status = "En tiempo: ";
             
             
                                         } else if ($filas['fecha_limite_atencion']==$fecha) {
             
                                              $b++;
                                              $status = "En limite de tiempo:";
             
             
                                         } else if ($filas['fecha_limite_atencion'] < $fecha) {
             
                                              $c++;
                                              $status = "Fuera de limite de tiempo: ";                                                                                                       
                                             
                                  }               
         ?>
         
                ['<?php echo $status; ?>', <?php echo $a, $b, $c ?>],

         
         <?php
         
            }

         ?>   

            ]
        }]
    });
});


      </script>
   </head>
   <body>
<script src="Highcharts-4.1.5/js/highcharts.js"></script>
<script src="Highcharts-4.1.5/js/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div>
<br><br>

<!--<center><a href="ejemplo2.php">Ver ejemplo 2</a></center>-->

   </body>
</html>
En línea

Penguin

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: ¿Como contar los resultados de un parametro?
« Respuesta #5 en: 14 Marzo 2018, 22:36 pm »

No, esa línea lo único que hace es imprimir en pantalla el resultado del conteo. Usa una API de JQuery en GoogleDocs, pero la misma está offline,
De todas formas amigo y con la mejor buena onda, te comento que en los foros se ayuda a los programadores que tienen problemas con sus códigos, no se realizan trabajos.
En línea

josfed

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ¿Como contar los resultados de un parametro?
« Respuesta #6 en: 14 Marzo 2018, 23:49 pm »

Ok amigo, entiendo, gracias por tu ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como crear un array de parametro?
Programación Visual Basic
ricardovinzo 1 1,861 Último mensaje 20 Octubre 2008, 06:33 am
por cassiani
problemas metodo con parametro (solucionado) era sin parametro XD
Java
rub'n 6 6,566 Último mensaje 25 Noviembre 2010, 16:45 pm
por Afsoon
Como pasar un fichero de salida como parametro
Programación C/C++
ZedGe 3 5,700 Último mensaje 30 Enero 2012, 15:03 pm
por ZedGe
Matriz como parametro de una funcion
Programación C/C++
Dacan 8 9,734 Último mensaje 25 Marzo 2013, 16:39 pm
por Wofo
Pasar 'this' como parametro
Programación C/C++
DvNe 6 3,146 Último mensaje 3 Abril 2014, 23:48 pm
por DvNe
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines