Hello all,
I'm trying to integrate charts to a php comonent of mambo that shows statistics of my website. The problem I have is that I cant figure out how to get the value's of the user hits and use them for the charts. I want to use the value's as shown below and put them in the code for making a chart. Can someone help me figure out how I can do that?
Code stats and charts are also below this message
Thanks
Reitze
Click her for --> Image
Code of the stats:
function getVisitorsByTld()
{
$totalnmb = 0;
$retval = '<table class="adminlist" cellspacing="0" width="100%"><tr>';
$retval .= '<th align="left">'.$this->language['tableheaders']['t17'].'</th>';
$retval .= '<th align="center" width="20%">'.$this->language['tableheaders']['t04'].'</th>';
$retval .= '<th align="left" width="5%">'.$this->language['tableheaders']['t18'].'</th>';
$retval .= '<th align="left" width="5%">'.$this->language['tableheaders']['t19'].'</th>';
$retval .= '<th align="left" width="100%">'.$this->language['tableheaders']['t11'].'</th>';
$retval .= '</tr>';
$this->resetVar(1);
function getPageHits()
{
$pc = 0;
$totalnmb = 0;
$retval = '<table class="adminlist" cellspacing="0" width="100%"><tr>';
$retval .= '<th width="10%">'.$this->language['tableheaders']['t28'].'</th>';
$retval .= '<th width="10%">'.$this->language['tableheaders']['t18'].'</th>';
$retval .= '<th align="left" width="100%">'.$this->language['tableheaders']['t20'].'</th>';
$retval .= '</tr>';
$rettable = NULL;
$sql = "SELECT SQL_BIG_RESULT page, page_id, page_title FROM #__TFS_pages";
$this->MainFrame->_db->setQuery($sql);
$rs = mysql_query($this->MainFrame->_db->_sql);
while ($row = mysql_fetch_array($rs))
{
$this->resetVar(1);
$sqla = "SELECT SQL_BIG_RESULT count(*) numbers FROM #__TFS_page_request WHERE ((#__TFS_page_request.page_id = $row[1]) AND (#__TFS_page_request.day LIKE '$this->d') AND (#__TFS_page_request.month LIKE '$this->m') AND (#__TFS_page_request.year LIKE '$this->y'))";
$sqlb = "SELECT SQL_BIG_RESULT sum(count) FROM #__TFS_page_request_c WHERE ((#__TFS_page_request_c.day LIKE '$this->d') AND (#__TFS_page_request_c.month LIKE '$this->m') AND (#__TFS_page_request_c.year LIKE '$this->y') AND (#__TFS_page_request_c.page_id = $row[1]))";
$this->resetVar(0);
$this->MainFrame->_db->setQuery($sqla);
$rsa = mysql_query($this->MainFrame->_db->_sql);
$rowa = mysql_fetch_array($rsa);
$this->MainFrame->_db->setQuery($sqlb);
$rsb = mysql_query($this->MainFrame->_db->_sql);
$rowb = mysql_fetch_array($rsb);
if (($rowa[0] + $rowb[0]) > 0)
{
$rettable[$row['page'].'#/#'.$row['page_title']] = ($rowa[0] + $rowb[0]);
}
mysql_free_result($rsa);
mysql_free_result($rsb);
}
mysql_free_result($rs);
if($rettable)
{
arsort ($rettable);
reset ($rettable);
while (list ($key, $val) = each ($rettable))
{
$totalnmb+=$val;
}
reset ($rettable);
while (list ($key, $val) = each ($rettable))
{
$explodedkey = explode('#/#',$key);
$retval .= '<tr>';
$retval .= "<td align=\"center\" nowrap> ".$val."</td>";
$retval .= "<td align=\"center\" nowrap> ".round((($val/$totalnmb)*100),1)."%</td>";if($explodedkey[1])
{
$retval .= "<td align=\"left\" nowrap><a href=\"{$explodedkey[0]}\" target=\"_blank\">{$explodedkey[1]}</a></td>";
}
else
{
$retval .= "<td align=\"left\" nowrap><a href=\"{$explodedkey[0]}\" target=\"_blank\">{$explodedkey[0]}</a></td>";
}
$retval .= "</tr>\n";
} // while
} // if $rettable
$retval .='<tr>';
$retval .='<th > '.$totalnmb.'</th>';
$retval .='<th > </th>';
$retval .='<th > </th>';
$retval .='<tr>';
$retval .= '</table><br>';
$retval .= '<center>[ <a href="javascript:history.back(1)">Back</a> ]</center>';
return $retval;
}
Code for the charts (want to include this in above script):
[CODE]include "libchart/libchart.php";
$chart = new HorizontalChart(500, 170);
$chart->addPoint(new Point("/wiki/Instant_messenger", 50)); <-- must be changed
$chart->addPoint(new Point("/wiki/Web_Browser", 83));
$chart->addPoint(new Point("/wiki/World_Wide_Web", 142));
$chart->setLowerBound(0); // X-Axis starts from 0
$chart->setTitle("Most visited pages for www.example.com");
$chart->render("generated/demo2.png");[/CODE]