Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

¿Gráfico con MySQL?

Estas en el tema de ¿Gráfico con MySQL? en el foro de Mysql en Foros del Web. Hola a toda la comunidad. Quiero ser simple; Estoy haciendo un gráfico en php con la libreria jpgraph, y la conecto a MySQL con el ...
  #1 (permalink)  
Antiguo 03/12/2011, 16:46
 
Fecha de Ingreso: diciembre-2010
Mensajes: 4
Antigüedad: 13 años, 4 meses
Puntos: 0
¿Gráfico con MySQL?

Hola a toda la comunidad.

Quiero ser simple; Estoy haciendo un gráfico en php con la libreria jpgraph, y la conecto a MySQL con el siguiente código.

Código PHP:
<?php
// conectamos a la base de datos
#conexión a la BD...

include ("../cgi-bin/jpgraph/src/jpgraph.php");
include (
"../cgi-bin/jpgraph/src/jpgraph_line.php");

$link=mysql_connect("localhost","root","");
mysql_select_db("proyecto",$link);

$result mysql_query("select id from ingresarinsumos"$link);
$data = array(); // creamos un arreglo en blanco, este será el de los datos
$line mysql_fetch_row($result);

while (
$line mysql_fetch_row($result)) {

$data[] = $line[0]; // agregamos el dato, suponiendo que este en la primera posición del arreglo resultanteç
}

// aquí ya tenemos el arreglo en $data, solo le agregamos al código anterior

$datay $data;
// A nice graph with anti-aliasing
$graph = new Graph(700,500);
$graph->img->SetMargin(50,50,30,30);
//$graph->SetBackgroundImage("tiger_bkg.png",BGIMG_FILLFRAME);

$graph->img->SetAntiAliasing("white");
$graph->SetScale("textlin");
$graph->SetShadow();
$graph->title->Set("Grafico sobre Insumos Registrados");
$graph->xaxis->title->Set("asdf");
$graph->yaxis->title->Set("Cantidad");

// Use built in font
$graph->title->SetFont(FF_FONT1,FS_BOLD);

// Slightly adjust the legend from it's default position in the
// top right corner.
$graph->legend->Pos(0.05,0.5,"right","center");

// Create the first line
$p1 = new LinePlot($datay);
//$p1->mark->SetType(MARK_FILLEDCIRCLE);
//$p1->mark->SetFillColor("red");
//$p1->mark->SetWidth(4);
$p1->SetColor("green");
$p1->SetCenter();
$p1->SetLegend("Clientes en la BD"); // aqui va el nombre de la señal...
$graph->Add($p1);

// Output line
$graph->Stroke();
?>
La Base de Datos "ingresarinsumos" es la siguiente:



El resultado de conectar el código ya mostrado con esa base de datos es:



La barra de la izquierda es la cantidad de registros que tengo en la BD, por lo que creo, ya que tengo 5 y ahí me sale que son 5. En la barra inferior, que llega hasta el número 4, no sabía muy bien lo que era, hasta que pensandolo bien, creo que es la cantidad de campos que tiene la tabla ... y yo no quiero eso, me gustaría que abajo me mostrara la cantidad de insumos que hubiera en la tabla, pero no se como hacerlo.

Se que el problema al parecer es en el select ... ¿Alguien sabe como hacer correctamente para que en el gráfico me mostrará en el lado izquierdo me muestre la cantidad de registro y abajo me muestra la suma del campo "cantidad" en la tabla?

Es decir, si un registro ingresar 3 productos, y el otro registro ingresa 5 productos, que en el grafico me muestre hasta el numero 7 en la parte de abajo señalando que la canidad total de "cantidad" es 7. Desde ya, muchas gracuas y espero haber sido lo más claro posible.
  #2 (permalink)  
Antiguo 03/12/2011, 19:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿Gráfico con MySQL?

Cita:
Es decir, si un registro ingresar 3 productos, y el otro registro ingresa 5 productos, que en el grafico me muestre hasta el numero 7 en la parte de abajo señalando que la canidad total de "cantidad" es 7.
3 + 5 = 8, no 7...

Creo que eso es aritmética básica.

Por lo demás, no me queda claro por qué estás posteando este problema acá, ya que no parece tener nada que ver con SQL, sino más bien con programación en PHP... cosa que es asunto del Foro de PHP.
La consulta te pude devovler valores, pero MySQL no representa en graficos nada, porque no es un lenguaje de programación. El cómo representes esos valores es ajeno al MySQL.
Lo que puedo inferir de lo que posteas, es que lo que estás manejando incorrectamente son los rangos del gráfico, porque no muestran el límite máximo en abscisas y ordenadas necesario para visualizar correctamente los datos cargados.

Lo único que sí tiene que ver con SQL es esto:
Cita:
En la barra inferior, que llega hasta el número 4, no sabía muy bien lo que era, hasta que pensandolo bien, creo que es la cantidad de campos que tiene la tabl
No. Son cinco valores porque tienes cinco registros, pero lo que estás almacenando en el array es el valor del ID, y no su valor en cantidad de artículos.

Antes que ponerte a graficar, ¿por qué no tratas de hacer una consulta que te devuelva los datos que efectivamente necesitas graficar?
Empieza por allí, porque esa consulta no está devolviendo información que te sirva.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campos, php, query, registros, select, sql, tabla
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 15:32.