Foros del Web » Programando para Internet » ASP Clásico »

Problema con ASP, XML y FusionCharts Free

Estas en el tema de Problema con ASP, XML y FusionCharts Free en el foro de ASP Clásico en Foros del Web. hola amigos ando queriendo crear un XML para jalarlo desde un SWL del FusionCharts y que me pinte la grafuca pero solo me dice que ...
  #1 (permalink)  
Antiguo 09/06/2008, 15:51
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 21 años, 4 meses
Puntos: 33
Exclamación Problema con ASP, XML y FusionCharts Free

hola amigos ando queriendo crear un XML para jalarlo desde un SWL del FusionCharts y que me pinte la grafuca pero solo me dice que no encuentra los datos, el codigo es el sig:
Código PHP:
<!--#include virtual="/it/Lib/INC/LibreriasIT.asp" -->
<html>
<
head>
   <
script language="JavaScript" src="../charts/FusionCharts.js"></script>
</head> 
<body bgcolor="#ffffff">
   <div id="chartdiv" align="center">The chart will appear within this DIV. This text will be replaced by the chart.</div>
   <script type="text/javascript">
      var myChart = new FusionCharts("../charts/FCF_MSColumn2D.swf", "myChartId", "600", "500");
      myChart.setDataXML("<graph xaxisname='Continent' yaxisname='Export' hovercapbg='DEDEBE' hovercapborder='889E6D' rotateNames='0' yAxisMaxValue='100' numdivlines='9' divLineColor='CCCCCC' divLineAlpha='80' decimalPrecision='0' showAlternateHGridColor='1' AlternateHGridAlpha='30' AlternateHGridColor='CCCCCC' caption='Global Export' subcaption='In Millions Tonnes per annum pr Hectare'><%
Set conn = CreaConexion()
 SQL = "SELECT id_cat_espec, nombre FROM cat_especialidades WHERE id_sesion = 0 ORDER BY nombre"
 Set rs = ObtenSetDatos(SQL, conn, false)
 
 SQL_fortalezas_espe = "SELECT * FROM levan_req_espec WHERE id_sesion = 342"
 Set rs_fortalezas = ObtenSetDatos(SQL_fortalezas_espe, conn, false)
 nivel = 1
 
    ' <!-------------------------------------------CATEGORIAS------------------>
     if nivel = 1 then
     i = 1
     While Not rs.EOF
     if i = 1 then response.Write("<categories font='Arial' fontSize='11' fontColor='000000'>") end if
     response.Write("<category name='"&rs("nombre")&"' />")
     if i = 13 then response.Write("</categories>") end if  
    
     i = i + 1
     rs.MoveNext
     Wend
     Set rs = LiberaSetDatos(rs)
     nivel = nivel + 1
     end if
    ' <!-------------------------------------------FIN CATEGORIAS------------------>
    
      ' <!-------------------------------------------BASICO------------------>
       if nivel = 2 then
       i = 1
       SQL = "SELECT id_cat_espec, nombre FROM cat_especialidades WHERE id_sesion = 0 ORDER BY nombre"
       Set rs = ObtenSetDatos(SQL, conn, false)
       While Not rs.EOF
       SQL_tiene_basico = "SELECT COUNT(id_personal) AS tiene FROM per_nivel_esp WHERE  id_especialidad = "&rs("id_cat_espec")&" AND id_sesion = 342 AND id_grado = 1"
       set rs_tiene_basico = ObtenSetDatos(SQL_tiene_basico, conn, false)
      
       if i = 1 then response.Write("<dataset seriesname='Basico' color='FDC12E'>") end if
       response.Write("<category name='"&rs_tiene_Basico("tiene")&"' />")
       if i = 13 then response.Write("</dataset>") end if  
      
       i = i + 1
       rs.MoveNext
       Wend
       Set rs = LiberaSetDatos(rs)
       nivel = nivel + 1
       end if
      ' <!-------------------------------------------FIN BASICO------------------>
      ' <!-------------------------------------------INTERMEDIO------------------>
       if nivel = 3 then
       i = 1
       SQL = "SELECT id_cat_espec, nombre FROM cat_especialidades WHERE id_sesion = 0 ORDER BY nombre"
       Set rs = ObtenSetDatos(SQL, conn, false)
       While Not rs.EOF
       SQL_tiene_Intermedio = "SELECT COUNT(id_personal) AS tiene FROM per_nivel_esp WHERE  id_especialidad = "&rs("id_cat_espec")&" AND id_sesion = 342 AND id_grado = 2"
       set rs_tiene_Intermedio = ObtenSetDatos(SQL_tiene_Intermedio, conn, false)
      
       if i = 1 then response.Write("<dataset seriesname='Intermedio' color='56B9F9'>") end if
       response.Write("<category name='"&rs_tiene_Intermedio("tiene")&"' />")
       if i = 13 then response.Write("</dataset>") end if  
      
       i = i + 1
       rs.MoveNext
       Wend
       Set rs = LiberaSetDatos(rs)
       nivel = nivel + 1
       end if
      ' <!-------------------------------------------FIN INTERMEDIO------------------>
      
      ' <!-------------------------------------------AVANZADO------------------>
       if nivel = 4 then
       i = 1
       SQL = "SELECT id_cat_espec, nombre FROM cat_especialidades WHERE id_sesion = 0 ORDER BY nombre"
       Set rs = ObtenSetDatos(SQL, conn, false)
       While Not rs.EOF
       SQL_tiene_Avanzado = "SELECT COUNT(id_personal) AS tiene FROM per_nivel_esp WHERE  id_especialidad = "&rs("id_cat_espec")&" AND id_sesion = 342 AND id_grado = 3"
       set rs_tiene_Avanzado = ObtenSetDatos(SQL_tiene_Avanzado, conn, false)
      
       if i = 1 then response.Write("<dataset seriesname='Avanzado' color='C9198D'>") end if
       response.Write("<category name='"&rs_tiene_Avanzado("tiene")&"' />")
       if i = 13 then response.Write("</dataset>") end if  
       if i = 13 then response.Write("</graph>") end if  
      
       i = i + 1
       rs.MoveNext
       Wend
       Set rs = LiberaSetDatos(rs)
       nivel = nivel + 1
       end if
      ' <!-------------------------------------------FIN AVANZADO------------------>
 
%>");
      myChart.render("chartdiv");
   </script>
</body>
</html> 

lo que me genera es esto:
Código PHP:
<html>
<
head>
   <
script language="JavaScript" src="../charts/FusionCharts.js"></script>
</head> 
<body bgcolor="#ffffff">
   <div id="chartdiv" align="center">The chart will appear within this DIV. This text will be replaced by the chart.</div>
   <script type="text/javascript">
      var myChart = new FusionCharts("../charts/FCF_MSColumn2D.swf", "myChartId", "600", "500");
      myChart.setDataXML("<graph xaxisname='Continent' yaxisname='Export' hovercapbg='DEDEBE' hovercapborder='889E6D' rotateNames='0' yAxisMaxValue='100' numdivlines='9' divLineColor='CCCCCC' divLineAlpha='80' decimalPrecision='0' showAlternateHGridColor='1' AlternateHGridAlpha='30' AlternateHGridColor='CCCCCC' caption='Global Export' subcaption='In Millions Tonnes per annum pr Hectare'><categories font='Arial' fontSize='11' fontColor='000000'><category name='Adquisición sísmica' /><category name='Bioestratigrafía' /><category name='Estratigrafía – sedimentología' /><category name='Evaluación de proyectos' /><category name='Geología del subsuelo' /><category name='Geología estructural' /><category name='Geoquímica' /><category name='Ingeniería de perforación' /><category name='Ingeniería de yacimientos' /><category name='Interpretación sísmica' /><category name='Métodos potenciales' /><category name='Petrofísica' /><category name='Procesamiento sísmico' /></categories><dataset seriesname='Basico' color='FDC12E'><category name='1' /><category name='1' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /></dataset><dataset seriesname='Intermedio' color='56B9F9'><category name='1' /><category name='1' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /></dataset><dataset seriesname='Avanzado' color='C9198D'><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /><category name='0' /></dataset></graph>");
      myChart.render("chartdiv");
   </script>
</body>
</html> 
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
  #2 (permalink)  
Antiguo 10/06/2008, 13:46
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 2 meses
Puntos: 88
Respuesta: Problema con ASP, XML y FusionCharts Free

hey Omega

ya viste los ejemplos que trae el ZIP de FreeChart.... uno de ellos es directo desde la base de datos

Ejemplo desde BD
Default.asp
Código:
<%@ Language=VBScript %>
<HTML>
<HEAD>
    <TITLE>
    FusionCharts Free - Ejemplo de URL y Base de Datos
    </TITLE>
    <%
    'Necesitas incluir el archivo de Jscript, si intentas utilizar Javascript
    'Utilizando Javascript, evitas el mensaje "Click para activar" 
    'de internet explorer de bloqueo
    'Cuando realizas tu propia grafica, asegurate de la direccion virtual correcta del archivo 
    'JS, asi evitaras errores
    %>    
    <SCRIPT LANGUAGE="Javascript" SRC="../../FusionCharts/FusionCharts.js"></SCRIPT>
    <style type="text/css">
    <!--
    body {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
    }
    .text{
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
    }
    -->
    </style>
</HEAD>
    <%
    'Incluiremos FusionCharts.asp, el cual contiene funciones que 
    'ayudara para incorporar la grafica facilmente
    %>
    <!-- #INCLUDE FILE="../Includes/FusionCharts.asp" -->    
<BODY>

<CENTER>
<h2><a href="http://www.fusioncharts.com" target="_blank">FusionCharts Free</a> - dataURL and Database</h2>

<%
    'Variable que contendra el querysting de datos
    Dim strDataURL    
    'La pagina ASP contenida en piedata.asp; interactua con la base de datos,
    'convirtiendo los datos en la manera apropiada de XML y finalmente
    'delega el documento XML para la grafica
    strDataURL = "PieData.asp"
    
    'Creando la grafica - Pastel de 3D con Datos de querystring como strDataURL
    Call renderChart("../../FusionCharts/FCF_Pie3D.swf", strDataURL, "", "FactorySum", 650, 450)

%>
<BR><BR>
<a href='../NoChart.html' target="_blank">No puedes mirar la grafica mostrada?</a>
</CENTER>
</BODY>
</HTML>
PieData.asp
Código:
<%@ Language=VBScript %>

<!-- #INCLUDE FILE="../Includes/DBConn.asp" -->
<%
    'Esta pagina genera datos en XML para la Grafica de pastel, contenida en Default.asp
    
    'Para la sencilles de uso, usamos la base de datos en acces provista en la Carpeta DB
    '../DB/FactoryDB.mdb. Solo contiene 2 tablas, unidas por una relacion
        
    'Inicializacion de objetos de Base de datos
    Dim oRs, oRs2, strQuery
    'Variable que contendra el XML resultante
    Dim strXML
            
    'creacion del Recordset que traera los datos
    Set oRs = Server.CreateObject("ADODB.Recordset")

    'Generando los elementos del grafico "LOS DATOS XML"
    strXML = "<graph caption='Factory Output report' subCaption='By Quantity' decimalPrecision='0' showNames='1' numberSuffix=' Units' pieSliceDepth='30' formatNumberScale='0'>"

    'interactiando en los registro de fabrica
    strQuery = "select * from Factory_Master"
    Set oRs = oConn.Execute(strQuery)
    
    While Not oRs.Eof
        'Creando el segundo recordset para los detalles por fabrica
        Set oRs2 = Server.CreateObject("ADODB.Recordset")
        strQuery = "select sum(Quantity) as TotOutput from Factory_Output where FactoryId=" & ors("FactoryId")
        Set oRs2 = oConn.Execute(strQuery)                
        'Generando los "child objetcs" del XML.... CADA BARRA o PEDAZO de la grafica
        '<set name='..' value='..'/>        
        strXML = strXML & "<set name='" & ors("FactoryName") & "' value='" & ors2("TotOutput") & "' />"
        'Close recordset
        Set oRs2 = Nothing
        oRs.MoveNext
    Wend
    'finalmente, cerramos el elemento <graph>
    strXML = strXML & "</graph>"
    Set oRs = nothing
        
    'Esta es la parte importante, seteamos que tipo de datos mandara la pagina
    'en este caso TEXT/XML  <---- lo que usa el elemento para la creacion
    Response.ContentType = "text/xml"
    
    'Solo escribimos el resultado
    'NOTA, ESTA PAGINA NO CONTIENE NINGUN ELEMENTO DE HTML
    Response.Write(strXML)
%>
La ponemos aki, asi cualquiera que intente lo mismo, podra ver como es la formacion de dicha grafica con el ejemplo proporcionado por la misma empreza, asi evitamos atormentarnos con crear el XML, logicamente para aquellos que saben, no existira ningun problema

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:50.