thanks a lot for the reply. I will try to read this code and
understand it.

On Nov 18, 7:14 pm, pfhat <[EMAIL PROTECTED]> wrote:
> The php generates this page:
> <html>
>   <head>
>     <script type="text/javascript" src="externalScript.js"></script>
>     <script type="text/javascript" src="http://www.google.com/jsapi";></
> script>
>     <script type="text/javascript">
>       google.load("visualization", "1", {packages:
> ["annotatedtimeline"]});
>       google.setOnLoadCallback(chartRequest);
>     </script>
>   </head>
>   <body>
>     <div id="chart_div" style="width: 1280px; height: 480px;"></
> div><br />
>   </body>
> </html>
>
> The externalScript basically does this:
> var ITEMS = new Array();
> var data;
> function getXmlHttpRequestObject()
> {
>     if (window.XMLHttpRequest)
>         return new XMLHttpRequest();
>     else if(window.ActiveXObject)
>         return new ActiveXObject("Microsoft.XMLHTTP");
>     else
>         alert("Your Browser Sucks!\nIt's about time to upgrade don't
> you think?");}
>
> var chartReq = getXmlHttpRequestObject();
> function chartRequest()
> {
>     chartReq.onreadystatechange = handleChartRequest;
>     chartReq.open("GET", "http://your_DB->PHP_Layer_File.php", true);
>     chartReq.send(null);}
>
> function handleChartRequest()
> {
>     var outStatus = "";
>     try
>     {
>         outStatus = chartReq.status;
>     }
>     catch(e)
>     {
>         outStatus = " ";
>     }
>     if (chartReq.readyState == 4)
>     {
>         if (outStatus == 200)
>         {
>             try
>             {
>                 var returnedXML = chartReq.responseXML;
>                 initChart();
>                 parseXML(returnedXML);
>
>             }
>             catch (e)
>             {
>                 alert("error handleChartRequest: " +e)
>             }
>         }
>     }
>
> }
>
> function initChart()
> {
>     data = new google.visualization.DataTable();
>
>     data.addColumn('date', 'Date');
>
>     data.addColumn('number', 'MY_Category1');
>     data.addColumn('string', 'title1');
>     data.addColumn('string', 'text1');
>
>     data.addColumn('number', 'MY_Category2');
>     data.addColumn('string', 'title2');
>     data.addColumn('string', 'text2');
> // ...
> // ...
> // ...
> // etc
>     data.addColumn('number', 'MY_CategoryN');
>     data.addColumn('string', 'titleN');
>     data.addColumn('string', 'textN');}
>
> function parseXML(inXML)
> {
>     var dataitems = inXML.getElementsByTagName("dataitem");
>     var currenArray = new Array();
>     var currentTag = "";
>     var len = dataitems.length;
>     while (len--)
>     {
>         var curDataItem = dataitems[len];
>         if (curDataItem.getElementsByTagName("validInfo")
> [0].getAttribute("value") != currentTag && currentTag != "")
>         {
>             ITEMS.push(curDataItem );
>         }
>     printArray();}
>
> function printArray()
> {
>     data.addRows(ITEMS.length);
>     for(var i=0; i<ITEMS.length; i++)
>     {
>         printRow(ITEMS[i], i);
>     }
>     var chart = new google.visualization.AnnotatedTimeLine
> (document.getElementById('chart_div'));
>     chart.draw(data, {displayAnnotations: true, allValuesSuffix: "pt",
> scaleType: "maximize", allowHtml: true});
>
>     reformatTags(); //only neccesary for dhtml manipulation of
> annotation tags.
>
> }
>
> function printRow(ITEM, iterator)
> {
>     // at this point each ITEM should be the same as curBuildArray
>     // Therefore each ITEM should be an array of thisDataItem Objects.
>     try
>     {
>         // get date
>         var theDate = ITEM[0].builddate;
>         /*
>          * FIX THE STUPID DATE HERE!!!!!!!
>          */
>         //data.setValue(iterator, 0, new Date("October 7, 2008
> 13:15:00"));
>         data.setValue(iterator, 0, new Date(parseDate(theDate)));
>         var AVERAGE = 0;
>         var len = ITEM.length
>         for(var j=0; j<len; j++)
>         {
>             var curData = ITEM[j];
>             data.setValue(iterator, platformSwitch(curData.platform),
> (curData.pass-0));
>         }
>     }
>     catch(err)
>     {
>         alert("error in printRow[" +iterator +"] " +err);
>     }
>
> }
>
> I've left out helper functions, abbreviated some other functions, and
> removed some functionality entirely (this is an internal work page).
> You'll note the php file used in the xmlRequest isn't even here at
> all.
> I'm using the chart to chart BVT results over time as opposed to
> financial values.
> Let me know if there's any part of the logic flow that doesn't make
> sense, doesn't flow well, or simply got hacked apart too much to
> understand.
> NOTE: this code WILL NOT WORK if you copy it. It's merely a guideline
> to what I did.
>
> On Nov 17, 7:57 am, Pragan <[EMAIL PROTECTED]> wrote:
>
> > Hey,
>
> > Can you please explain what is that exactly you did? Do you have any
> > finance chart showing up like finance.google.com?It would be great if
> > you can show us an example of what you did.
>
> > thanks
> > pragan.
>
> > On Nov 14, 11:53 am, pfhat <[EMAIL PROTECTED]> wrote:
>
> > > I did this with php pretty easily....I used ajax to make a request on
> > > page load for all the data. php returned it as xml. javascript parsed
> > > it and constructed the chart object.
> > > -dave
>
> > > On Nov 13, 6:37 am, p00kie <[EMAIL PROTECTED]> wrote:
>
> > > > Hi there,
>
> > > > Trying to perform this task and wondering if anyone has been
> > > > successful thus far or can offer any pointers.
>
> > > > I have a MySQL database back-end and currently the web interface is
> > > > using perl/cgi to create queries to the database and spitting out
> > > > results via http. I want to incorporate the google visualizations in
> > > > the data set for this.
>
> > > > My solution so far is to spit out the data queried via perl to an XML
> > > > spreadsheet. Then using XMLHttpRequest, to use javascript to parse the
> > > > data, store it in variables and then populate the data table/other
> > > > google visualization gadgets that can be further possible.
>
> > > > 1. Would this work?
> > > > 2. Any sample code on defining XML read-in functions as well as
> > > > parsing it?
>
> > > > Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to