![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
||||||||
Bienvenido a los foros de CiberPC.
Actualmente estas viendo el foro como invitado, lo que te da acceso limitado al visitar nuestras discusiones y otras funcionalidades. Al unirte de forma gratuita a nuestra comunidad tendras acceso a:
|
|
|||
|
hola a todos tengo un proyecto y requiero mostrar informacion que tengo almacenada en bases de datos para realizar analisis comparativos de las mismas. encontre el php/swf chart para realizar este tipo de graficas pero no he logrado hacerlo funcionar alguien sabe como se hace. mi servidor el windows y las bases de datos estan en mysql.
el grafico que me genera tiene el grafico de jemplo y al lado los nuevos datos el script que estoy usando es el siguiente <HTML> <BODY bgcolor="#FFFFFF"> <?php //include charts.php to access the InsertChart function include "charts.php"; echo InsertChart ( "charts.swf", "charts_library", "sample.php", 400, 250 ); //start the PHP multi-dimensional array and create the region titles $chart [ 'chart_data' ][ 0 ][ 0 ] = ""; $chart [ 'chart_data' ][ 1 ][ 0 ] = "REGION A"; $chart [ 'chart_data' ][ 2 ][ 0 ] = "REGION B"; $chart [ 'chart_data' ][ 3 ][ 0 ] = "REGION C"; //connect to the database mysql_connect ( "localhost", "root", "" ); mysql_select_db ( "Accounting" ); //get the smallest year to determine which year to start the chart with $result = mysql_query ( "SELECT MIN(Year) AS MinYear FROM Growth" ); $MinYear = mysql_result ( $result, 0, "MinYear" ); //get all the data in the Growth table $result = mysql_query ("SELECT * FROM Growth"); //extract the data from the query result one row at a time for ( $i=0; $i < mysql_num_rows($result); $i++ ) { //determine which row in the PHP array the current data belongs to switch ( mysql_result ( $result, $i, "Region" ) ) { case "Region A": $row = 1; break; case "Region B": $row = 2; break; case "Region C": $row = 3; break; } //determine which column in the PHP array the current data belongs to $col = mysql_result ( $result, $i, "Year") - $MinYear + 1; //populate the PHP array with the Year title $chart [ 'chart_data' ][ 0 ][ $col ] = mysql_result ( $result, $i, "Year"); //populate the PHP array with the revenue data $chart [ 'chart_data' ][ $row ][ $col ] = mysql_result ( $result, $i, "Revenue"); } //send the new data to charts.swf SendChartData ( $chart ); ?> es el mismo grafico de ejemplo que hay en la pagina pero no logro hacerlo funcionar. si alguien sabe como se usa este soft o que es loq ue estoy haciendo mal agradeceria la ayuda ya que es urgente que termine este proyecto gracias emerson |
|
||||
|
Bienvenido Emerson, ahi te va una explicada express de como usar PHP/SWF, espero que esto te lo aclare un poco
Necesitas un archivo que construya los datos que usaras en el grafico, le llamaremos datos.php Código PHP:
Código PHP:
Una vez que le agarres sentido, el grado de personalizacion solo esta limitado por ti, puedes ver todo lo que le puedes modificar o agregar en la referencia. Saludos
__________________
pablasso.com |
|
|||
|
hola pablasso
muchisimas gracias por tu ayuda. gracias a ella ya pude generar los graficos estaticos de mi proyecto... pero ..... con los graficos dinamicos tengo un problema, ya que tome el ejemplo del tutorial pero la grafica no me muestra los datos reales de la base de datos, comparando los datos de los archivos estaticos con el dinamico, los datos no estan en orde me aperecen de esta manera: LINE 2001 2002 2003 2004 2005 REGION A REGION B REGION C 56 21 5 90 100 y pues obviamente lo que me grafica es la linea 56 el escript que estoy usando es el siguiente: <?php //include charts.php to access the InsertChart function include "charts.php"; //change the chart to a bar chart $chart [ 'chart_type' ] = "LINE"; //start the PHP multi-dimensional array and create the region titles $chart [ 'chart_data' ][ 0 ][ 0 ] = ""; $chart [ 'chart_data' ][ 1 ][ 0 ] = "REGION A"; $chart [ 'chart_data' ][ 2 ][ 0 ] = "REGION B"; $chart [ 'chart_data' ][ 3 ][ 0 ] = "REGION C"; //connect to the database mysql_connect ( "localhost", "root", "" ); mysql_select_db ( "Accounting" ); //get the smallest year to determine which year to start the chart with $result = mysql_query ( "SELECT MIN(Year) AS MinYear FROM Growth" ); $MinYear = mysql_result ( $result, 0, "MinYear" ); //get all the data in the Growth table $result = mysql_query ("SELECT * FROM Growth"); //extract the data from the query result one row at a time for ( $i=0; $i < mysql_num_rows($result); $i++ ) { //determine which row in the PHP array the current data belongs to switch ( mysql_result ( $result, $i, "region" ) ) { case "Region A": $row = 1; break; case "Region B": $row = 2; break; case "Region C": $row = 3; break; } //determine which column in the PHP array the current data belongs to $col = mysql_result ( $result, $i, "year") - $MinYear + 1; //populate the PHP array with the Year title $chart [ 'chart_data' ][ 0 ][ $col ] = mysql_result ( $result, $i, "year"); //populate the PHP array with the revenue data $chart [ 'chart_data' ][ $row ][ $col ] = mysql_result ( $result, $i, "revenue"); } //send the new data to charts.swf SendChartData ( $chart ); ?> muchisimas gracias por tu ayuda emerson |
|
||||
|
Me es algo dificil decirte sin tener la base de datos (checa muy bien que estes recibiendo los datos con simples echo, mysql_result siempre puede ser algo confuso), pero te podria servir ver el mismo ejemplo anterior acomodado en la forma en lo que lo estas haciendo:
Código PHP:
__________________
pablasso.com |
|
||||
|
me alegro emerson!
__________________
pablasso.com |
|
|||
|
hola pablasso.... otraves con problemas con los graficos dinamicos, lo que pasa es que estoy generando un grafico de lineas que compara tres años 2005, 2007 y 2007 durante los meses del año el problema esta en que en el año 2005 los datos inicial en agosto pero los grafica como si fuera enero la verdad no se como hacer para que el grafico grafique el dato en agosto y no en enero.... estoy usando el mismo codigo que pegue incialmente
gracias por tu ayuda |
|
||||
|
esta dificil sin ver el codigo que usas ahora.. puedes pegarlo aqui?
asegurate de ponerlo entre las etiquetas [php ] [ /php] sin espacios las etiquetas..
__________________
pablasso.com |
|
|||
|
este es el codigo que estoy usando.
archivo 1 el que obtiene los datos Código PHP:
Código PHP:
Código PHP:
|
|
||||
|
en tu consulta SQL estas poniendo una condicion para que todos tus datos sean de enero nada mas
__________________
pablasso.com |
|
|||
|
si claro, porque lo que quiero mostrar en la grafica es la evolucin del dato de manera diaria, lo que pasa es que por ejemplo el dia 12 no tiene dato en el año 2005 pero en el 2006 si lo que esta haciendo el grafico es que muestra el dato del 13 del 2005 en el del 12 del 2005 osea no deja el espacio en blanco de ese dia sino que corre el dato siguiente... lo cual se ve en la grafica que tendria que graficar del dia 2 a 31 de enero pero grafica una linea continua hasta el dia 24 que son la cantidad de datos que tiene de ese mes... no se si me hice entender???... de todas maneras te agrdezco mucho tu ayuda
|