![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
||||||||
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 |
|
|||
|
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 |
|
|||
|
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 |
|
|||
|
este es el codigo que estoy usando.
archivo 1 el que obtiene los datos Código PHP:
Código PHP:
Código PHP:
|
|
|||
|
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
|
|
||||
|
mmm ya entiendo tu problema, lo que deberias de hacer es rotar sobre los dias del mes, no sobre los datos.
por ej. si es para mayo, rota sobre 31 y vas insertando en el arreglo de la grafica los datos que van coincidiendo con el dia actual, si en lugar de eso rotas sobre los datos nada mas no vas a poder tener control del tiempo |
![]() |
LinkBacks (?)
LinkBack to this Thread: http://www.ciberpc.com/foros/f22/graficas-dinamicas-con-php-swf-chart-9048.html
|
|||
| Publicado por | For | Type | Fecha |
| pablasso.com » Blog Archive » Creando graficas con Flash y PHP | This thread | Pingback | 20-abr-2007 12:25 |
| Personas en esta discusión: 1 (0 usuario(s) y 1 invitado(s)) | |
| Herramientas | |
| Estilo | |
|
|
Patrocinadores:
Backlinks: