Chalalo Land

Tecnologías ASP.NET y un poco Más

Contacto


 Si quierer cooperar, yo feliz, muy agradecido :)

De donde me Visitan?

Locations of visitors to this page

Generic Content

Si te gustaron los articulos, y te animas te estaría muy agradecido!


Recent Posts

Tags

Community

Blogs de MVP

Amigos Geeks

Blogs Imperdibles

GODS

Archives

Email Notifications

Creando un Gráfico de Barras con Silverlight y PHP :)

Hola que tal?, mientras escucho Arch Enemy,Dead Eyes See No Future, me me dije a mi mismo "oye mismo, y si el ejemplo del gráfico de barras con Silverlight lo haces con php?" y pensé que era buena idea, ahora bien, no pretendo profundizar en temas de php, y las sentencias que voy a utilizar, si no les gustan a los talibanes de PHP, ejeje, bueno cambian las sentencias, es decir, cambia la forma pero no el fondo.Tengo varios amigos que utilizan php, espero que no se sientan tocados.

Construcción.

Vamos a utilizar los mismos recursos que usamos para el Articulo "Creando un gráfico de barras con silverlight 1.0" , es decir el XAML y los archivos JS , los cuales setean como se va a visualizar el control XAML dentro de la página.

Por razones obvias, el archivo aspx ya no está, lo que esta es nuestra página php, la cual tiene el siguiente código

<?php

 

$con =mysql_connect("localhost","micuenta","mipass");
mysql_select_db("Animales");
$año=$_POST["año"];
if ($año==""){ $año=2007;} 
$sql="select Perros,Gatos,Vacas,Cerdos from porcentajes where Periodo=$año";                $rs=mysql_fetch_array(mysql_query($sql,$con));
$valorPerros=$rs["Perros"];
$valorGatos =$rs["Gatos"];
$valorVacas =$rs["Vacas"];
$valorCerdos=$rs["Cerdos"];
$AltoBarra  = 415;
$MarcaTexto = 430;
$altoBarraPerros = ($valorPerros * $AltoBarra) / 100;
$altoBarraGatos  = ($valorGatos * $AltoBarra) / 100;
$altoBarraVacas  = ($valorVacas * $AltoBarra) / 100;
$altoBarraCerdos = ($valorCerdos * $AltoBarra) / 100;
$PosicionTextoPerros  = $MarcaTexto - $altoBarraPerros;
$PosicionTextoGatos   = $MarcaTexto - $altoBarraGatos;
$posicionTextoVacas   = $MarcaTexto - $altoBarraVacas;
$posicionTextoCerdos  = $MarcaTexto - $altoBarraCerdos;

// 'Seteamos el texto que va en cada textblock del control
$TextoPerros = round($valorPerros);
$TextoGatos  = round($valorGatos);
$TextoVacas  = round($valorVacas);
$TextoCerdos  = round($valorCerdos);

$script=" <script type='text/javascript'> function root_Loaded(sender,args) {";
$script.=" sender.findName('barraPerros').Height='$altoBarraPerros';";
$script.=" sender.findName('valorPerros')['Canvas.Top']='$PosicionTextoPerros';";     $script.=" sender.findName('valorPerros').Text='$TextoPerros %';";
$script.=" sender.findName('barraGatos').Height='$altoBarraGatos';";
$script.=" sender.findName('valorGatos')['Canvas.Top']='$PosicionTextoGatos';";
$script.=" sender.findName('valorGatos').Text='$TextoGatos %';";
$script.=" sender.findName('barraVacas').Height='$altoBarraVacas';";
$script.=" sender.findName('valorVacas')['Canvas.Top']='$posicionTextoVacas';";
$script.=" sender.findName('valorVacas').Text='$TextoVacas %';";
$script.=" sender.findName('barraCerdos').Height='$altoBarraCerdos';";
$script.=" sender.findName('valorCerdos')['Canvas.Top']='$posicionTextoCerdos';";
$script.=" sender.findName('valorCerdos').Text='$TextoCerdos %';";
$script.=" }</script>";

?>

Básicamente estamos realizando el mismo proceso, si te das cuenta, vamos a conectarnos una base de Datos Mysql, se hace el query dependiendo del año seleccionado en el combo, se obtienen los datos y se setean las variables para dibujar las barras.

Base de datos Mysql:

image

Luego tenemos las mismas referencias a los archivos JS, imprimiendo luego el resultado de la concatenación de la variable $script:

image 

Por último, en donde necesites mostrar el gráfico haces la llamada a la función createSilverlight();

image

Descarga los archivos y la BD desde acá (ahora funciona el enlace!)

Espero que les sirva :):)

Gonzalo.

 

Posted: 6/2/2008 20:22 por Gonzalo Perez | con 15 comment(s) |
Comparte este post:

Comentarios

javier rocha ha opinado:

gonzalo tengo unas consultas

estoy trabajando con php y mysql y nesesito hacer unos graficos.

cual plataforma crees que es mejor vista o xp hay algun problema con alguna?

se nesesita algun tipo de licencia para el silver?

el silver se instala y listo o nesesita alguna configuracion especial?

podrias subir denuevo los ejemplos o em iarmelos porfa si no es mucha la molestia ami correo blackrocha@hotmail.com te lo agradeceria

atte javier rocha

# March 25, 2008 5:07 PM

Gonzalo ha opinado:

Hola Javier,

Como vez, no es dificil crear graficos con silverlight y php :), el plugin de silverlight, por lo que sé, es trabaja de igual manera para vista o xp, por lo que es adecuado por igual a las dos plataformas, puedes desarrollar desde notepad para silverlight, por lo que lo que necesitarias, son las licencias de los productos que vas a ocupar, aún asi, puedes bajar las versiones de prueba y utilizarlas, asi no pagas licencia.

Claro que si, silverlight se instala (el plugin) si quieres utilizarlo con  vs2008 debes instalar otros componentes.

Te lo envio al correo, gracias por el interes

# March 27, 2008 3:33 PM

fherdi ha opinado:

Hola Gonzalo, vi tú articulo navegando para buscar algo que me sirva para un pequeño proyecto que tengo en mente, y buen esto de silverlight me gusto con php, entonces necesito instalar en el servidor(red hat) el silverlight, este tiene un costo, te pregunto porque no tengo idea de esto. Muchas gracias por tú atención.

# April 25, 2008 5:49 PM

Gonzalo Perez ha opinado:

Hola Fherdi,

De hecho no tiene costo, el archivo XAML lo podrias hacer en vi, lo mismo que los javascript. Esta es una tecnologia (Silverlight 1.0) del lado del cliente, asi que no debes instalar nada en tu server.

Saludos!

# April 29, 2008 8:41 PM

Gabriel Santillan ha opinado:

Hola que tal ya he creado mi barra de herramientas desde expression blend, pero y ahora como lo agrego a mi proyecto que tengo en VS2005 lo quiero agregar a un formulario.. como lo agrego?...  saludos

# July 9, 2008 8:03 PM

Julian David Villegas ha opinado:

Gonzalo, sera que me puedes mandar el ejemplo al correo, es que lo fui a mirar y no esta disponible... Gracias

julian.villegas00@usc.edu.co

Salu2

# August 8, 2008 6:58 PM

Gonzalo Perez ha opinado:

Ufff, no me había dado cuenta, lo voy a arreglar.

Saludos,

Gonzalo

# August 9, 2008 4:04 PM

Sergio Villarreal ha opinado:

Hola que tal

me interesa mucho esto de animacion con silverligth, en este ejemplo vienen varios archivos en que archivo se edita el estilo o como se puede generar un archivo silverligth mas customizado o con los colores y efectos que yo requiera?

Ya vimos que es muy facil mandar los datos desde php ahora falta la parte de como crear los archivos de silverlight.

Saludos.

# August 11, 2008 10:14 PM

Gonzalo Perez ha opinado:

Hola Sergio,

Tambien existe un método createFromXaml , con el cual puedes crear XAML dinámico, con todo lo que quieras, te invito a ver el artículo:

www.wynapse.com/.../WPFE_createFromXaml_Object_Creation_and_Destruction.aspx

Está muy bueno y nos da una idea de como utilizarlo.

Saludos,

Gonzalo

# August 12, 2008 5:07 AM

Jose ha opinado:

Hola no funciona el enlace de descarga....

# January 19, 2009 10:02 PM

Gonzalo Perez ha opinado:

Jose, a mi me funciona, que explorador estas usando?

Es esta Url

cid-053a660afa3473b3.skydrive.live.com/.../silverlightPHP.rar

# January 19, 2009 10:22 PM

Valentin ha opinado:

Hola Gonzalo, he descargado el archivo pero me dice que esta corrupto, lo descarge usando IE8 y Firefox. En ambos obtengo el mismo error, crees que puedas enviarmelo a vguardamino@hotmail.com por favor.

De ante mano muchas gracias por el apoyo.

Valentín

# April 22, 2009 9:12 PM

Gonzalo Perez ha opinado:

Valetin, te lo envié al correo! :)

Saludos,

Gonzalo

# April 22, 2009 9:56 PM

yurany ha opinado:

holas, gonzalo, lo que pasa es que tengo que hacer una pagina wed, copn barras pero echas en html, y casi no entiendo el tema, swera que me puedes colaborar.

gracias

# June 10, 2009 10:16 PM

Gonzalo Perez ha opinado:

En que consiste la aplicación?

# June 10, 2009 10:28 PM