Necesito crear un grafico de barras..me he mareado con tanto codigo y tantas opciones como el famoso FusionShart,etc...
Entonces tengo este código bajado de una página:
Código ASP:
Ver original
<% Sub ShowChart(ByRef aValues, ByRef aLabels, ByRef strTitle, ByRef strXAxisLabel, ByRef strYAxisLabel) ' Some user changable graph defining constants ' All units are in screen pixels ' ByRef aValues ( Los valores que tomará el gráfico) 'ByRef aLabels ( La etiqueta de cada valor) ' ByRef strTitle ( Título del Gráfico) ' ByRef strXAxisLabel ( Etiqueta del Eje X ) ' ByRef strYAxisLabelr ( Etiqueta del Eje Y ) strTitle= "GRAFICO DE COMPRAS" strXAxisLabel="MESES" Const GRAPH_WIDTH = 430 ' El ancho del cuerpo del grafico Const GRAPH_HEIGHT = 250 ' La altura del cuerpo del grafico Const GRAPH_BORDER = 1 ' Tamaño de borde negro Const GRAPH_SPACER = 2 ' Tamaño del espacio entre barras ' Debugging constant so I can eaasily switch on borders in case ' the tables get messed up. Should be left at zero unless you're ' trying to figure out which table cells doing what. Const TABLE_BORDER = 0 'Const TABLE_BORDER = 10 ' Declare our variables Dim I Dim iMaxValue Dim iBarWidth Dim iBarHeight ' Get the maximum value in the data set iMaxValue = 0 For I = 0 To UBound(aValues) If iMaxValue < aValues(I) Then iMaxValue = aValues(I) Next 'I 'Response.Write iMaxValue ' Debugging line ' Calculate the width of the bars ' Take the overall width and divide by number of items and round down. ' I then reduce it by the size of the spacer so the end result ' should be GRAPH_WIDTH or less! iBarWidth = (GRAPH_WIDTH \ (UBound(aValues) + 1)) - GRAPH_SPACER 'Response.Write iBarWidth ' Debugging line ' Start drawing the graph %> <TABLE BORDER="<%= TABLE_BORDER %>" CELLSPACING="0" CELLPADDING="0" align=center> <TR> <TD COLSPAN="3" ALIGN="center"><H2><%= strTitle %></H2></TD> </TR> <TR> <TD VALIGN="center"><B><%= strYAxisLabel %></B></TD> <TD VALIGN="top"> <TABLE BORDER="<%= TABLE_BORDER %>" CELLSPACING="0" CELLPADDING="0"> <TR> <TD ROWSPAN="2"><IMG SRC="images/spacer.gif" BORDER="0" WIDTH="1" HEIGHT="<%= GRAPH_HEIGHT %>"></TD> <TD VALIGN="top" ALIGN="right"><%= iMaxValue %> </TD> </TR> <TR> <TD VALIGN="bottom" ALIGN="right">0 </TD> </TR> </TABLE> </TD> <TD> <TABLE BORDER="<%= TABLE_BORDER %>" CELLSPACING="0" CELLPADDING="0"> <TR> <TD VALIGN="bottom"><IMG SRC="images/spacer_black.gif" BORDER="0" WIDTH="<%= GRAPH_BORDER %>" HEIGHT="<%= GRAPH_HEIGHT %>"></TD> <% ' We're now in the body of the chart. Loop through the data showing the bars! For I = 0 To UBound(aValues) iBarHeight = Int((aValues(I) / iMaxValue) * GRAPH_HEIGHT) ' This is a hack since browsers ignore a 0 as an image dimension! If iBarHeight = 0 Then iBarHeight = 1 %> <TD VALIGN="bottom"><IMG SRC="images/spacer.gif" BORDER="0" WIDTH="<%= GRAPH_SPACER %>" HEIGHT="1"></TD> <TD VALIGN="bottom"><IMG SRC="images/spacer_red.gif" BORDER="0" WIDTH="<%= iBarWidth %>" HEIGHT="<%= iBarHeight %>" ALT="<%= aValues(I) %>"></A></TD> <% Next 'I %> </TR> <!-- I was using GRAPH_BORDER + GRAPH_WIDTH but it was moving the last x axis label --> <TR> <TD COLSPAN="<%= (2 * (UBound(aValues) + 1)) + 1 %>"><IMG SRC="images/spacer_black.gif" BORDER="0" WIDTH="<%= GRAPH_BORDER + ((UBound(aValues) + 1) * (iBarWidth + GRAPH_SPACER)) %>" HEIGHT="<%= GRAPH_BORDER %>"></TD> </TR> <% ' The label array is optional and is really only useful for small data sets with very short labels! %> <% If IsArray(aLabels) Then %> <TR> <TD><!-- Spacing for Left Border Column --></TD> <% For I = 0 To UBound(aValues) %> <TD><!-- Spacing for Spacer Column --></TD> <TD ALIGN="center"><FONT SIZE="1"><%= aLabels(I) %></FONT></TD> <% Next 'I %> </TR> <% End If %> </TABLE> </TD> </TR> <TR> <TD COLSPAN="2"><!-- Place holder for X Axis label centering--></TD> <TD ALIGN="center"><BR><B><%= strXAxisLabel %></B></TD> </TR> </TABLE> <% End Sub %> <% ' Static Chart (with Bar Labels) ShowChart Array(6, 10, 12, 18, 23, 26, 27, 28, 30, 34, 37, 45), Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"), "COMPRAS POR MESES", "X Label", "$" %>
El problema que tengo es que necesito reemplazar la última línea donde dice "ShowChart Array" para construir un array con los valores sacados de mi base de datos...pero la verdad es que no se como crear el array.....alguien podria ayudarme por favor???
La consulta SQL que tengo que incluirle es esta:
Código PHP:
SELECT SUM(total) AS TOTAL,DATENAME(MONTH,fecha) AS MES FROM FACPVTA
WHERE YEAR(fecha) ='2009'
GROUP BY DATENAME(MONTH,fecha)
De antemano muchas gracias..