Búsqueda personalizada

19 nov 2013

Pin It

Widgets

Canvas a partir de datos MySql

11:04

Voy a copiar aquí un código que me parece aún más interesante que el del artículo anterior.
Con este código se crea el gráfico a partir de datos de la base de datos.

HTML
<!DOCTYPE html>
<html><head><title>Nombre de la página</title><link rel=”STYLESHEET” href=”nombre_del_archivo_de_estilo.css”/></head>
<body>
<center><canvas id=”myCanvas” width=”1280″ height=”720″ style=”border:1px solid #FFFFFF;”>Your browser does not support the HTML5 canvas tag.</canvas></center>

JavaScript
<script>
function draw(inicio, valor)
{
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”); // En 2D
// Defines el ancho
ctx.width=1280;
var ancho=ctx.width;
//Defines el alto
ctx.height=720;
var alto=ctx.height;
// Crear gradiente para el fondo
var grd=ctx.createLinearGradient(0,0,ancho,0);
grd.addColorStop(0,”black”); // Punto y color de inicio
grd.addColorStop(0.5,”#309a07″); // Color intermedio
grd.addColorStop(1,”black”); //Color final
// Rellenar el fondo con el gradiente
ctx.fillStyle=grd;
ctx.fillRect(0,0,ancho,alto);
// Dibujo los datos
// El punto de partida es x=inicio, y=alto (el alto es abajo del todo). La x la vamos moviendo a la derecha, la y es fija abajo del todo.
ctx.moveTo(inicio,alto);
// Movemos la línea hacia arriba en la variable y, manteniendo la x fija por ser una barra vertical
ctx.lineTo(inicio,valor); 
ctx.lineWidth=10; // Definimos el grosor de la línea
ctx.globalAlpha = 0.99; // Definimos la transparencia
ctx.strokeStyle = “white”; // Color de la línea
ctx.stroke();
}
</script>

PHP
<?php
//Llamamos al archivo que nos conecta a la base de datos
require_once(“archivo_con_los_datos_de_conexion_a_la_base.inc”); 
// Hacemos la petición de datos a la base
$salida=mysql_db_query (“nombre_de_la_base_de_datos”, “Select * from nombre_de_la_tabla”);
$numdatos=mysql_num_rows ($salida);
for ($a=0;$a<$numdatos;$a++)
{
$dato=mysql_fetch_row($salida); // Extraemos una fila
$inicio=$dato[0]; //En el ejemplo, la primera columna era una simple key autoincrementable
$inicio=$inicio*20; // Vamos moviendo 20 pixeles a la derecha cada dato
$valor=$dato[1]; //En el ejemplo, la segunda columna es el dato a dibujar
$valor=$valor*7.2; //La altura era de 720 y los datos de 0 a 100. Escalamos
$valor=720-$valor; // Canvas tiene las coordenadas (0,0) arriba a la izquierda. Invertimos la y para que empiece desde abajo.
echo “<script>draw($inicio, $valor);</script>”; // Llamamos a la función que dibuja
}
?>
</body>
</html>

Un ejemplo de cómo puede quedar:


Código y gráfico procedente de la página : http://www.robermartinez.com/blog/2012/10/27/canvas-con-html5-y-php-a-partir-de-datos-sql/

Gracias por el aporte del autor

Escrito por

Si tienes alguna otra duda, o quieres comentar algo sobre el tema, te animo a que dejes un comentario. También puedes visitar nuestro foro. ¡Un saludo!

1 comentarios:

 

© 2014 Aplicaciones ...---Chey---.... All rights resevered. Designed by Chey Developer

Back To Top
Recibe las actualizaciones directo a tu correo