一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - openflashchart 2.0 簡單案例php版

openflashchart 2.0 簡單案例php版

2019-12-31 17:18PHP教程網(wǎng) PHP教程

openflashchart是一種比較實用的圖標(biāo)呈現(xiàn)插件,而且是開源的

1.openflashchart是一種比較實用的圖標(biāo)呈現(xiàn)插件,而且是開源的,網(wǎng)址http://teethgrinder.co.uk/open-flash-chart/ 

2.FlashChart類 

復(fù)制代碼代碼如下:


FlashChart Class Code 

class FlashChart 

private $id; 
private $height; 
private $width; 
private $path; 
function __construct($path="",$width=300,$height=500,$id="myChart") 

global $flash_chart; 
$this->id=$id; 
$this->height=$height; 
$this->width=$width; 
$this->path=$path; 
if(!$flash_chart) 

echo '<script type="text/javascript" src="'.$path.'js/json/json2.js"></script>'; 
echo '<script type="text/javascript" src="'.$path.'js/swfobject.js"></script>'; 
echo '<script type="text/javascript" src="'.$path.'js/jquery-1.4.4.min.js"></script>'; 
$flash_chart=true; 



function __destruct() 

unset($this->id,$this->height,$this->width,$this->path); 

function setID($id) 

$this->id=$id; 

function setChart($file,$info) 

$tp=new TemplateData($file); 
echo '<script type="text/javascript">'; 
echo "data_{$this->id}=".$tp->changeInfo($info).';'; 
echo "function ofc_get_dataOf{$this->id}(){return JSON.stringify(data_{$this->id});}"; 
echo "swfobject.embedSWF('".$this->path."/open-flash-chart.swf', '$this->id', '$this->width','$this->height','9.0.0','expressInstall.swf',{'get-data':'ofc_get_dataOf{$this->id}'} )"; 
echo '</script>'; 


3,TemplateData類 

把一個簡單的圖標(biāo)的配置從已經(jīng)寫好的txt文本里取出來加載所用的類 :例如 

復(fù)制代碼代碼如下:



"title": 

"text":"(title)", 
"style":"{color:#FF0000;font-size:24px;}" 
}, 
"y_legend":{ 
"text": "iWebShop", 
"style": "{color: #736AFF;font-size:16px;}" 
}, 

"elements":[ 

"type": "line", 
"colour": "#736AFF", 
"text": "注冊用戶量(人)", 
"width": 1, 
"dot-style": { 
"type":"solid-dot", "colour":"#a44a80", "dot-size": 3, 
"tip":"#val#人<br>#x_label#" }, 
"on-show": {"type": "shrink-in", "cascade":1, "delay":0.5}, 
"values" : [(numbers)] 

], 

"x_axis":{ 
"labels": { 
"labels":[(dates)] 

}, 

"y_axis":{ 
"steps": (steps), 
"max": (max) 


這是類的內(nèi)容: 

復(fù)制代碼代碼如下:




class TemplateData 

public $substitution; 
private $templateFile; 
function __construct($filename) 

$this->templateFile=@file_get_contents($filename) or die("not find templateFile"); 

function __destruct() { 
unset ($this->templateFile,$this->substitution); 

function setTemplateFile($tfile) 

$this->templateFile=$tfile; 

function getTemplateFile() 

return $this->templateFile; 

function replaceReal($matches) 

extract($this->substitution, EXTR_OVERWRITE); 
return isset($$matches[1])?$$matches[1]:$matches[1]; 

function changeInfo($subs) 

$this->substitution=$subs; 
return preg_replace_callback("(\((\w+)\))",array(&$this, 'replaceReal'),$this->getTemplateFile()); 



4,調(diào)用的代碼 

復(fù)制代碼代碼如下:



<!--//這里的myChat是顯示flash的地方,所以不能為空,改動的話要在聲明FlashChart類的時候定義,詳細見FlashChart類--> 
<div class='content_box'><div id="myChart"></div></div> 

<?php 
include("flashchart.php"); 
include("templatedata.php"); 
$fc=new FlashChart('chart/',"100%",320); 
$infos=array( 
'numbers'=>"30000,10000,5000,6000000,700", 
'dates'=>"\"字符串1\",\"字符串2\",\"字符串3\",\"字符串4\",\"字符串5\"", 
'steps'=>600000, 
'max'=>6000000 
); 
$info=array("title"=>'用戶注冊統(tǒng)計','numbers'=>$infos['numbers'],'dates'=>$infos['dates'],'steps'=>$infos['steps'],'max'=>$infos['max']); 
$fc->setChart("chart/templatechart/user-add.txt",$info); 


5,還有一個處理數(shù)據(jù)的函數(shù),把查詢出來的數(shù)據(jù)集轉(zhuǎn)換成ofc用的數(shù)據(jù) 

復(fù)制代碼代碼如下:




/** 
* @brief ofc數(shù)據(jù)處理 
* @params 數(shù)據(jù)庫查詢出關(guān)于x,y軸的數(shù)據(jù)的數(shù)據(jù)集 
* @note 后臺 
*/ 
/* 
public function init_count($rs) 


$numbers =''; 
$dates = ''; 
$max = 0; 
foreach($rs as $row) 


$numbers .= $row['num'].',';//y軸數(shù)據(jù) 
$dates .='"'.$row['month'].'",';//x軸數(shù)據(jù) 
if($max<$row['num']) $max = $row['num']; 

$steps=ceil($max/10); 
$result= array( 
'steps' => $steps, 
'numbers' => strlen($numbers)>1 ? substr($numbers,0,-1):null, 
'dates' => strlen($dates)>1 ? substr($dates,0,-1) : null, 
'max' => $max+$steps 
); 
return $result; 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 操碰人人| 黄漫免费观看 | 星星动漫在线观看无删减 | 麻豆亚洲一区 | 日本天堂影院在线播放 | 五月激情丁香婷婷综合第九 | 成年人视频在线播放 | 插鸡视频在线观看 | 精品无人区麻豆乱码无限制 | 亚洲精品成人456在线播放 | 亚洲激情久久 | 欧美a级完整在线观看 | 久久综合香蕉久久久久久久 | 久久精品国产欧美日韩99热 | 亚洲精品国精品久久99热 | a毛片在线免费观看 | 午夜免费体验30分 | 色综合天天综合网国产人 | h黑寡妇一级毛片 | 美女黄a | 国产91精品在线播放 | 国产亚洲福利精品一区二区 | 91se精品免费观看 | 美女张开腿黄网站免费精品动漫 | 91嫩草国产在线观看免费 | 日韩高清一区二区 | 人性本色 | 欧美成人一区二区三区 | 国内精品久久久久久久久久久久 | 四虎影库网址 | 国产午夜精品久久理论片小说 | 热久久天天拍天天拍热久久2018 | 国产福利在线免费观看 | poren18美女 | 色倩网站| 精品国产一级在线观看 | 欧美vpswindows动物 | 猫咪社区在线播放 | 亚洲一区二区三区不卡在线播放 | 性直播免费 | 国产码一区二区三区 |