Foros del Web » Programando para Internet » PHP »

Graficas y mysql

Estas en el tema de Graficas y mysql en el foro de PHP en Foros del Web. Gente del foro ando molestando de nuevo, el echo es que quiero graficar unos datos que tengo en mysql, buscando por la web encontré el ...
  #1 (permalink)  
Antiguo 08/10/2011, 09:04
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Pregunta Graficas y mysql

Gente del foro ando molestando de nuevo, el echo es que quiero graficar unos datos que tengo en mysql, buscando por la web encontré el google chart que esta muy bueno y se ve bastante bien, lo pruebo y lo gráfica bien, el problema es q ni la menor idea de como obtener los datos ordenados para graficarlos.

les comento mi tabla esta compuesta por 6 campos

id (este es el ide INT NOT NULL y autoinvcrement)
an0 (estos son todos datos int de una profundidad de 4)
an1
an2
an3
an4
an5

mi idea es q grafique en el eje del tiempo el id y los otros datos como lineas de datos de colores diferentes...

alguien se le ocurre como sacar los datos de MySQL??
  #2 (permalink)  
Antiguo 08/10/2011, 11:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Graficas y mysql

pues por lo que veo tu error es el modelo de datos, es mala practica utilizar campos numerados para representar datos secuenciales, modifica tu modelo de datos de modo que puedas almacenar con un mínimo de 3 campos toda la información en registros y no columnas

ejemplo:
id | serie | valor
1 | 1 | 10
2 | 2 | 20
3 | 3 | 30
4 | 4 | 40

es mejor que:

id | serie1 | serie2 | serie3 <---- Mala practica
id | 10 | 20 | 30
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/10/2011, 12:13
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Graficas y mysql

maycolalvarez cada anx es un dato diferente.

en realidad esta grafica tendria que quedar

an0 ------------------------------------
an1 --------------------------------------
anx -- -- - -------------------------------

id --->(este es el eje correspondiente al tiempo)


mi problema es que cuando hago la consulta en mysql
me devuelve todos los datos

yo lo que necesito es que me los devuelva ordenados

an0 = 15574 - id = 1
an0 = 45654 - id = 2


y luego eso procesarlo para ponerlo en la grafica
  #4 (permalink)  
Antiguo 08/10/2011, 13:03
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Graficas y mysql

Código PHP:
$id mysql_query("SELECT id FROM xxxxx ORDER BY `id`"$link);
while (
$row mysql_fetch_row($id))
{
$row[0];
}
include( 
'GoogChart.class.php' );

/** Create chart */
$chart = new GoogChart();

$data $row[0];
$color = array(
            
'#99C754',
            
'#54C7C5',
            
'#999999',
        );
$chart->setChartAttrs( array(
            
'type' => 'pie',
            
'title' => 'Browser market 2008',
            
'data' => $data,
            
'size' => array( 400300 ),
            
'color' => $color
    
)); 

este es parte de mi codigo, pero no puedo pasarle todos los valores, no se como hacer eso

Última edición por Maverik2; 08/10/2011 a las 13:14
  #5 (permalink)  
Antiguo 08/10/2011, 13:21
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Graficas y mysql

Si revisas la documentación hay varios ejemplos... Debes pasarle un array para armar los datos en el gráfico:

Código PHP:
Ver original
  1. $data=array(
  2.                 'cows'=>array(4,5,6,7,9),
  3.                 'dogs'=>array(6,1,4,2,6),
  4.                 'peas'=>array(5.4,9,1,6,2)
  5.         );
  6.         $moo= new googleChart();
  7.         $moo->smartDataLabel($data);
  8.         $moo->setLabelsMinMax(5,'left');
  9.         $moo->draw(true);

Prueba con este:

http://code.google.com/p/googlechart.../Documentation
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 08/10/2011, 13:34
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Graficas y mysql

Cita:
Iniciado por andresdzphp Ver Mensaje
Si revisas la documentación hay varios ejemplos... Debes pasarle un array para armar los datos en el gráfico:

Código PHP:
Ver original
  1. $data=array(
  2.                 'cows'=>array(4,5,6,7,9),
  3.                 'dogs'=>array(6,1,4,2,6),
  4.                 'peas'=>array(5.4,9,1,6,2)
  5.         );
  6.         $moo= new googleChart();
  7.         $moo->smartDataLabel($data);
  8.         $moo->setLabelsMinMax(5,'left');
  9.         $moo->draw(true);

Prueba con este:

http://code.google.com/p/googlechart.../Documentation

exacto, pero como armo ese array con los datos de la DB??
  #7 (permalink)  
Antiguo 08/10/2011, 13:44
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Graficas y mysql

A mi se me ocurre que llenes un nuevo array con el formato que le vas a pasar para que te haga el gráfico, por ejemplo:

Código PHP:
Ver original
  1. while ($reg = mysql_fetch_array($result)) {
  2.     $data['campo'][] = $reg['campodelabasededatos'];
  3.     $data['campo2'][] = $reg['campodelabasededatos2'];
  4.     $data['campo3'][] = $reg['campodelabasededatos3'];
  5. }

Puede que necesites más dimensiones y organizar las claves y los valores.

a ver si así me entiendes la idea:

Código PHP:
Ver original
  1. <?php
  2. include( 'GoogChart.class.php' );
  3.  
  4. $c = mysql_connect('localhost', 'root', '12345');
  5. mysql_select_db('basededatos');
  6. $sql = 'select * from stat order by id';
  7. $res = mysql_query($sql) or die(mysql_error());
  8.  
  9. $data = array();
  10.  
  11. while ($reg = mysql_fetch_array($res)) {
  12.     for ($x=0; $x<6; $x++) {
  13.         $data[$reg['id']][] = $reg["an$x"];
  14.     }
  15. }
  16.  
  17. $chart = new GoogChart();
  18.    
  19.     $color = array(
  20.             '#99C754',
  21.             '#54C7C5',
  22.             '#999999',
  23.         );
  24.  
  25. $chart->setChartAttrs( array(
  26.     'type' => 'sparkline',
  27.     'title' => 'Este es un ejemplo',
  28.     'data' => $data,
  29.     'size' => array( 600, 200 ),
  30.     'color' => $color,
  31.     'labelsXY' => true,
  32.     'fill' => array( '#eeeeee', '#aaaaaa' ),
  33.     ));
  34.  
  35. echo $chart;
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 08/10/2011 a las 13:58

Etiquetas: googlechart, mysql
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 17:36.