php曲線
select recharge_time,sum(menoy) from tab_a group by recharge_time
『貳』 php除了mvc還有什麼架構
1. Yii
Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
3. CakePHP
CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。
4. PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及資料庫通信
你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用於發布單獨web應用的框架,因為它不需要非標准PHP配置便能運行。
6. Symfony
Symfony是一個用於開發PHP5項目的web應用框架。
這個框架的目的在於加速web應用的開發以及維護,減少重復的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網路伺服器即可。它與差不多所有的資料庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。
對於PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。干凈的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便於項目的測試,調試以及歸檔。
7. Prado
PRADO團隊由一些PRADO狂熱者組成,這些成員開發並推動PRADO框架以及相關項目的進行。
PRADO的靈感起源於Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8. Zend
作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。
9. ZooP
Zoop PHP框架,意為Zoop面向對象的PHP框架。
這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數據層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。
Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。
10. QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基於OOP的概念
『叄』 php有沒有生成數據報表和相關圖形曲線的工具 - PHP進階討論
有個庫是jpgraph下下來,看看裡面的demo比著改一個就好! 查看原帖>>
『肆』 php 如何畫統計曲線圖
php負責提供數據,畫圖交給js插件 比如highchar
『伍』 php charts曲線圖 本地顯示 伺服器不顯示
樣式沒有調用成功
超文本預處理器是一種通用編程語言,最初是為了進行網頁開發而設計的。它最初是由拉斯馬斯·勒德爾夫在1994年創建的。
PHP引用現在是由The PHP Group實現的。PHP最初是個人主頁的縮寫,但現在它是一個首字母遞歸型縮略詞,全稱為Hypertext Preprocessor,即超文本預處理器。
『陸』 php如何製作動態曲線圖
<img src="php程序的地址" />
php頁面用來隨機生成圖片的鏈接地址
可以把很多圖片地址放在一個數組裡面供隨機選擇.
原理就是這樣的
『柒』 求實現PHP+mysql增刪除查改和輸出曲線圖功能
設計兩個表,一個表保存項目和班次的信息並且有個關聯欄位,另一個表保存日期,a,b,c等信息並且有個關聯欄位。插入數據的時候,按照關聯插入。查詢的時候根據關聯欄位查詢。
獲取到數據後,怎麼顯示出來網上有很多PHP例子,你可以搜搜,PHP 圖表,你挑一個就行。
『捌』 php多點曲線圖 為什麼變成一片顏色塊
//可根據數據自適應X和Y軸大小。
//在同一個圖形中可顯示多個曲線圖
//用戶可給出生成的圖的尺寸大小,數據參數。類根據數據的值來判斷生成的圖形的高(默認10格)和寬各分幾格。
//若用戶沒有給出圖的尺寸大小,則圖形高和寬為255像素
//數據參數通過一個方法add_data($array)來多次添加,每次一個數組。
//可自設定圖形邊框,矩形圖內線,深色邊框線,淺色邊框線,曲線,點的顏色。若用戶沒有指定,則為默認值
//set_colors方法設定不同曲線的不同色彩
//可進行圖形的疊加顯示:點,線,矩形
//注意:需要GD庫支持
class build_graph {
var $graphwidth=300;
var $graphheight=300;
var $width_num=0; //寬分多少等分
var $height_num=10; //高分多少等分,默認為10
var $height_var=0; //高度增量(用戶數據平均數)
var $width_var=0; //寬度增量(用戶數據平均數)
var $height_max=0; //最大數據值
var $array_data=array(); //用戶待分析的數據的二維數組
var $array_error=array(); //收集錯誤信息
var $colorBg=array(255,255,255); //圖形背景-白色
var $colorGrey=array(192,192,192); //灰色畫框
var $colorBlue=array(0,0,255); //藍色
var $colorRed=array(255,0,0); //紅色(點)
var $colorDarkBlue=array(0,0,255); //深色
var $colorLightBlue=array(200,200,255); //淺色
var $array_color; //曲線著色(存儲十六進制數)
var $image; //我們的圖像
//方法:接受用戶數據
function add_data($array_user_data){
if(!is_array($array_user_data) or empty($array_user_data)){
$this->array_error['add_data']="沒有可供分析的數據";
return false;
exit();
}
$i=count($this->array_data);
$this->array_data[$i]=$array_user_data;
}
//方法:定義畫布寬和長
function set_img($img_width,$img_height){
$this->graphwidth=$img_width;
$this->graphheight=$img_height;
}
//設定Y軸的增量等分,默認為10份
function set_height_num($var_y){
$this->height_num=$var_y;
}
//定義各圖形各部分色彩
function get_RGB($color){ //得到十進制色彩
$R=($color>>16) & 0xff;
$G=($color>>8) & 0xff;
$B=($color) & 0xff;
return (array($R,$G,$B));
}
//---------------------------------------------------------------
#定義背景色
function set_color_bg($c1,$c2,$c3){
$this->colorBg=array($c1,$c2,$c3);
}
#定義畫框色
function set_color_Grey($c1,$c2,$c3){
$this->colorGrey=array($c1,$c2,$c3);
}
#定義藍色
function set_color_Blue($c1,$c2,$c3){
$this->colorBlue=array($c1,$c2,$c3);
}
#定義色Red
function set_color_Red($c1,$c2,$c3){
$this->colorRed=array($c1,$c2,$c3);
}
#定義深色
function set_color_DarkBlue($c1,$c2,$c3){
$this->colorDarkBlue=array($c1,$c2,$c3);
}
#定義淺色
function set_color_LightBlue($c1,$c2,$c3){
$this->colorLightBlue=array($c1,$c2,$c3);
}
//---------------------------------------------------------------
//方法:由用戶數據將畫布分成若乾等份寬
//並計算出每份多少像素
function get_width_num(){
$this->width_num=count($this->array_data[0]);
}
function get_max_height(){
//獲得用戶數據的最大值
$tmpvar=array();
foreach($this->array_data as $tmp_value){
$tmpvar[]=max($tmp_value);
}
$this->height_max=max($tmpvar);
return max($tmpvar);
}
function get_height_length(){
//計算出每格的增量長度(用戶數據,而不是圖形的像素值)
$max_var=$this->get_max_height();
$max_var=round($max_var/$this->height_num);
$first_num=substr($max_var,0,1);
if(substr($max_var,1,1)){
if(substr($max_var,1,1)>=5)
$first_num+=1;
}
for($i=1;$i<strlen($max_var);$i++){
$first_num.="0";
}
return (int)$first_num;
}
function get_var_wh(){ //得到高和寬的增量
$this->get_width_num();
//得到高度增量和寬度增量
$this->height_var=$this->get_height_length();
$this->width_var=round($this->graphwidth/$this->width_num);
}
function set_colors($str_colors){
//用於多條曲線的不同著色,如$str_colors="ee00ff,dd0000,cccccc"
$this->array_color=split(",",$str_colors);
}
######################################################################################################
function build_line($var_num){
if(!empty($var_num)){ //如果用戶只選擇顯示一條曲線
$array_tmp[0]=$this->array_data[$var_num-1];
$this->array_data=$array_tmp;
}
for($j=0;$j<count($this->array_data);$j++){
list($R,$G,$B)=$this->get_RGB(hexdec($this->array_color[$j]));
$colorBlue=imagecolorallocate($this->image,$R,$G,$B);
for($i=0;$i<$this->width_num-1;$i++){
$height_pix=round(($this->array_data[$j][$i]/$this->height_max)*$this->graphheight);
$height_next_pix=round($this->array_data[$j][$i+1]/$this->height_max*$this->graphheight);
imageline($this->image,$this->width_var*$i,$this->graphheight-$height_pix,$this->width_var*($i+1),$this->graphheight-$height_next_pix,$colorBlue);
}
}
//畫點
$colorRed=imagecolorallocate($this->image, $this->colorRed[0], $this->colorRed[1], $this->colorRed[2]);
for($j=0;$j<count($this->array_data);$j++){
for($i=0;$i<$this->width_num;$i++){
$height_pix=round(($this->array_data[$j][$i]/$this->height_max)*$this->graphheight);
imagearc($this->image,$this->width_var*$i,$this->graphheight-$height_pix,6,5,0,360,$colorRed);
imagefilltoborder($this->image,$this->width_var*$i,$this->graphheight-$height_pix,$colorRed,$colorRed);
}
}
}
######################################################################################################
function build_rectangle($select_gra){
if(!empty($select_gra)){ //用戶選擇顯示一個矩形
$select_gra-=1;
}
//畫矩形
//配色
$colorDarkBlue=imagecolorallocate($this->image, $this->colorDarkBlue[0], $this->colorDarkBlue[1], $this->colorDarkBlue[2]);
$colorLightBlue=imagecolorallocate($this->image, $this->colorLightBlue[0], $this->colorLightBlue[1], $this->colorLightBlue[2]);
if(empty($select_gra))
$select_gra=0;
for($i=0; $i<$this->width_num; $i++){
$height_pix=round(($this->array_data[$select_gra][$i]/$this->height_max)*$this->graphheight);
imagefilledrectangle($this->image,$this->width_var*$i,$this->graphheight-$height_pix,$this->width_var*($i+1),$this->graphheight, $colorDarkBlue);
imagefilledrectangle($this->image,($i*$this->width_var)+1,($this->graphheight-$height_pix)+1,$this->width_var*($i+1)-5,$this->graphheight-2, $colorLightBlue);
}
}
######################################################################################################
function create_cloths(){
//創建畫布
$this->image=imagecreate($this->graphwidth+20,$this->graphheight+20);
}
function create_frame(){
//創建畫框
$this->get_var_wh();
//配色
$colorBg=imagecolorallocate($this->image, $this->colorBg[0], $this->colorBg[1], $this->colorBg[2]);
$colorGrey=imagecolorallocate($this->image, $this->colorGrey[0], $this->colorGrey[1], $this->colorGrey[2]);
//創建圖像周圍的框
imageline($this->image, 0, 0, 0, $this->graphheight,$colorGrey);
imageline($this->image, 0, 0, $this->graphwidth, 0,$colorGrey);
//imageline($this->image, ($this->graphwidth-1),0,($this->graphwidth-1),($this->graphheight-1),$colorGrey);
imageline($this->image, 0,($this->graphheight-1),($this->graphwidth-1),($this->graphheight-1),$colorGrey);
}
function create_line(){
//創建網格。
$this->get_var_wh();
$colorBg=imagecolorallocate($this->image, $this->colorBg[0], $this->colorBg[1], $this->colorBg[2]);
$colorGrey=imagecolorallocate($this->image, $this->colorGrey[0], $this->colorGrey[1], $this->colorGrey[2]);
$colorRed=imagecolorallocate($this->image, $this->colorRed[0], $this->colorRed[1], $this->colorRed[2]);
for($i=1;$i<=$this->height_num;$i++){
//畫橫線
imageline($this->image,0,$this->graphheight-($this->height_var/$this->height_max*$this->graphheight)*$i,$this->graphwidth,$this->graphheight-($this->height_var/$this->height_max*$this->graphheight)*$i,$colorGrey);
『玖』 怎麼不安裝類庫用php畫曲線圖和餅圖
php本身沒有畫圖功能。都是通過GD庫等外部擴展實現的。如果只是單純的曲線圖和餅圖,可以考慮使用前端js代碼實現,比如iChart等插件都能做出很漂亮的示意圖。比GD搞出來的要漂亮,而且是動態的,可以根據點擊進行交互。
『拾』 怎麼用PHP做實時查詢的曲線圖
用ajax 實時刷新數據