`

php 报表开发

    博客分类:
  • PHP
 
阅读更多
 什么是报表
报表(  报: 报告   表: 表格 图表)
所谓报表就是,以表格或者是图表的方式 显示报告数据.

演示了jpgrapf的一个案例

 php绘图的坐标系统

 php绘图技术
1. php绘图的基本原理和步骤
 创建画布
 绘制需要的各种图形(圆,直线,矩形,弧线,扇形...)
 输出图像到网页,也可以另存
 销毁该图片(释放内存)


☞ 目前网站开发常见的图片格式有 gif  jpg/jpeg  png bmp ....
总结:
 gif 图片压缩率高,但是只能显示256色,可能造成颜色丢失,可以显示动画
 jpg/jpeg 图片的压缩率高(有损压缩),可以用较小的文件来显示,网页上用的比较图
 png , 该格式综合了gif 和jpg的优势,缺点是不能显示动画
怎么选择:

 php绘图技术快速入门
前提 : 首先请大家确认你的  gd库启用 php.ini
;启用图像库
extension=php_gd2.dll
记住,需要重启启动apache


image1.php案例:
<?php
	$im=imagecreatetruecolor(400,300);
	$red=imagecolorallocate($im,255,0,0);
	//圆
	//imageellipse($im,20,20,20,20,$red);
	//直线
	//imageline($im,0,0,400,300,$red);
	//矩形
	//imagerectangle($im,2,2,40,50,$red);
	//填充矩形
	//imagefilledrectangle($im,2,2,40,50,$red);
	//弧线
	//imagearc($im,100,100,50,50,180,270,$red);
	//扇形
	//imagefilledarc($im,100,100,80,50,180,270,$red,IMG_ARC_PIE);
	
	//拷贝图片到画布
	//1.加载源图片
	//$srcImage=imagecreatefromgif("2.GIF");
	//这里我们可以使用一个getimagesize()
	//$srcImageInfo=getimagesize("2.GIF");

	//拷贝源图片到目标画布
	//imagecopy($im,$srcImage,0,0,0,0,$srcImageInfo[0],$srcImageInfo[1]);

	//写字
	$str="hello,world,中文";
	//imagestring($im,5,0,0,"hello,world,中文",$red); 
	//在字体库中去找中文
	imagettftext($im,20,10,50,50,$red,"simhei.ttf",$str);
	header("content-type: image/png");
	imagepng($im);
	imagedestory($im);
?>

综合案例:(综合使用)


代码:
<?php

	
	//分析思路(先画出扇形)


	//1.画布
	$im=imagecreatetruecolor(400,300);

	//默认是黑色背景(一会告诉大家怎么修改)
	$white=imagecolorallocate($im,255,255,255);
	imagefill($im,0,0,$white);

	//2.画出扇形
	//创建三个颜色
	$red=imagecolorallocate($im,254,0,0);
	$darkred=imagecolorallocate($im,144,0,0);
	$blue=imagecolorallocate($im,0,0,128);
	$darkblue=imagecolorallocate($im,0,0,80);
	$gary=imagecolorallocate($im,192,192,192);
	$darkgary=imagecolorallocate($im,144,144,144);

	for($i=60;$i>=50;$i--){
	imagefilledarc($im,100,$i,100,50,0,35,$darkblue,IMG_ARC_PIE);
	imagefilledarc($im,100,$i,100,50,35,75,$darkgary,IMG_ARC_PIE);
	imagefilledarc($im,100,$i,100,50,75,360,$darkred,IMG_ARC_PIE);
	}

	//在上面加盖
	imagefilledarc($im,100,50,100,50,0,35,$blue,IMG_ARC_PIE);
	imagefilledarc($im,100,50,100,50,35,75,$gary,IMG_ARC_PIE);
	imagefilledarc($im,100,50,100,50,75,360,$red,IMG_ARC_PIE);

	//输出图片
	header("content-type: image/png");
	imagepng($im);
	imagedestory($im);
	
	//有兴趣的同学可以将其封装成一个函数.


?>

 思考
如果每次都必须自己去画,这样的图,是不是很麻烦,有没有现成可以用于做图表开发的库
->jpgrapf

 jpgraph的介绍

jpgraph的安装和配置
1. 下载 官网
2. 解压 (先拷贝到htdocs目录)
3. 配置 完毕使用( 就是把 emample 目录的其它文件 剪切到 emamlpe 文件夹内,注意要新建一个文件夹名字一定是  jpgraph )
4. 测试


 jpgraph 的实际使用案例(网名调查统计图

完成案例示意图如下:


数据库和数据
--参加选举人的表
create table elector(
electorId int,
name varchar(64),
voteNums int,
voteMonth int);

insert into elector values(1,'布什',10,1);
insert into elector values(1,'布什',12,2);
insert into elector values(1,'布什',34,3);


insert into elector values(2,'奥巴马',34,1);
insert into elector values(2,'奥巴马',30,2);
insert into elector values(2,'奥巴马',12,3);
insert into elector values(2,'奥巴马',30,4);

☞如果希望吧jpgraph 的图表嵌入到其它的php文件中,可以使用<img />

代码:

静态显示数据(没有实时的取数据)


实时取数据(动态更新)

vote.php
<html>
<head>
<title>请投票</title>
<script language="javascript">
function look(){
	window.location.href="showAll.php";
}
</script>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<form action="" method="">
<table>
<tr><td>请投票</td></tr>
<tr><td>
<input type="radio" name="vote" value="1">布什
<input type="radio" name="vote" value="2">奥巴马
<input type="submit" value="投票"/>
</td></tr>
</table>
</form>
<form action="" method="">
<tr>
<td><input type="button" onclick="look();" value="查看投票统计图表"/></td>
</tr>
</form>
</html>

showAll.php

<html>
<head>
<title>显示</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<h1>显示网民支持情况</h1>
<img src="showVote.php?id=1" />
<img src="showvote.php?id=2" />
</body>
</html>


showVote.php (最核心的)
<?php // content="text/plain; charset=utf-8"
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_bar.php');

//$datay1=array(13,8,119,7,17,6);
//$datay2=array(0,0,0,0,0,0);

//$datay1=array(13,8,11);
//$datay2=array(0,0,0);
// Create the graph.
$graph = new Graph(350,250);
$graph->SetScale('textlin');
$graph->SetMarginColor('silver');


// Setup title
/*$str="";
$id=$_REQUEST['id']; 
if($id==1){
	$str="支持布什的统计情况(万)";
}
else if($id==2){
	$str="支持奥巴马的统计情况(万)";
}*/

//从数据库

$id=$_REQUEST["id"];
//组织sql
$sql="select * from elector where electorId=$id order by voteMonth";



$conn=mysql_connect("localhost","root","root") or die("连接失败".mysql_error());
mysql_select_db("test",$conn) or die(mysql_error());
mysql_query("set names gbk") or die(mysql_error());
$res=mysql_query($sql,$conn) or die(mysql_error());

$datay1=array();
$datay2=array();
$i=0;
$title="";
while($row=mysql_fetch_array($res))
{
	$datay1[$i]=$row[2];
	$datay2[$i]=0;
	
	if($i==0){
		$title="支持".$row[1]."情况统计图";
	}
	$i++;
}
mysql_free_result($res);
mysql_close($conn);


$graph->title->Set($title);
$graph->title->setFont(FF_SIMSUN,FS_BOLD,14);
// Create the first bar
$bplot = new BarPlot($datay1);
$bplot->SetFillGradient('AntiqueWhite2','AntiqueWhite4:0.8',GRAD_VERT);
$bplot->SetColor('darkred');

// Create the second bar
$bplot2 = new BarPlot($datay2);
$bplot2->SetFillGradient('olivedrab1','olivedrab4',GRAD_VERT);
$bplot2->SetColor('darkgreen');

// And join them in an accumulated bar
$accbplot = new AccBarPlot(array($bplot,$bplot2));
$graph->Add($accbplot);

$graph->Stroke();
?>


  • red.rar (1.4 KB)
  • 下载次数: 29
分享到:
评论

相关推荐

    php报表开发课件

    本课程“php报表开发课件”聚焦于如何利用PHP来创建高效、动态的数据展示工具,帮助开发者更好地理解和掌握PHP在数据处理和报表生成方面的技术。 PHP报表开发涉及的核心知识点包括: 1. **基础语法与数据处理**:...

    PHP报表技术视频教程

    教程名称:PHP报表技术视频教程课程目录:【】1 报表简介【】2 php绘图坐标体系【】3 php绘图原理及步骤【】4 php绘图核心技术【】5 绘制3d效果人口分布饼状图【】6 网民支持情况统计图(静态数据)【】7 JpGraph-网民...

    php报表简介

    在PHP报表开发过程中,有以下几个关键步骤: 1. 数据获取:使用PHP的PDO(PHP Data Objects)或MySQLi扩展连接到数据库,执行SQL查询来获取所需的数据。 2. 数据处理:对获取的数据进行清洗、排序、分组等操作,以...

    PHP实例开发源码——php 美玲患者就诊记录查询报表系统.zip

    【标题】"PHP实例开发源码——php 美玲患者就诊记录查询报表系统.zip" 涉及的是一款基于PHP编程语言构建的患者就诊记录查询报表系统。这个系统主要用于医疗机构内部,帮助管理员或者医生快速查阅和分析患者的就诊...

    Grid++Report 6.6.7.0 Demo模板例子 免费报表开发工具

    Grid++Report是一款同时支持C/S软件(桌面程序)与B/S软件(WEB程序)开发的报表工具,功能全面易学易用。C/S开发适用于VB.NET、C#、VB6、VB、VC、Delphi、C++Builder、QT与易语言等。B/S开发适用于ASP.NET(C# & VB.NET)...

    报表开发工具FineReport中如何把报表放到网页中显示

    ### 报表开发工具FineReport中如何把报表放到网页中显示 #### 一、背景介绍 随着信息技术的发展,越来越多的企业倾向于使用基于浏览器/服务器(Browser/Server,简称BS架构)的系统来处理业务流程。这类系统通常...

    最好用免费报表开发工具:Grid++Report(锐浪报表工具) 6.6.5 新版下载

    开发C/S报表与B/S报表的编程接口、报表模板与报表数据通用,共享相同的开发知识与设计资源。 1. 含C/S报表组件、WEB报表插件、HTML5报表与WEB报表服务器开发的相关文件。 2. 通用报表设计器应用程序,可视化设计报表...

    最好用免费报表开发工具Grid++Report 6.7.5.1 (6.7.20.405) 含演示Demo例子模板

    B/S开发适用于ASP.NET(C# & VB.NET),PHP,JSP(JAVA)等,支持所有WEB服务器。开发C/S报表与B/S报表的编程接口、报表模板与报表数据通用,共享相同的开发知识与设计资源。 1. 含C/S报表组件、WEB报表插件、HTML5...

    Grid++Report5.6报表开发工具

    1、支持C/S报表与B/S报表开发,支持全部主流开发语言。C/S开发:VB.NET、C#、VB、VC、Delphi等,B/S开发:ASP.NET、JSP、ASP、PHP等,支持所有WEB服务器。 2、多国语言集成与UNICODE编码支持,方便开发多国语言软件...

    报表开发工具安装版

    在IT行业中,报表开发是一项至关重要的任务,它涉及到数据的收集、整理和呈现,以便于决策者快速理解和分析。报表开发工具为此提供了便利,能够帮助开发者高效地创建、设计和管理各类报表。"报表开发工具安装版"显然...

    最好用免费报表开发工具:Grid++Report6 v6.6.6.2 最新版及学习报表模板例子

    Grid++Report是一款同时支持C/S软件(桌面程序)与B/S软件(WEB程序)开发的报表工具,功能全面易学易用。C/S开发适用于VB.NET、C#、VB6、VB、VC、Delphi、C++Builder、QT与易语言等。B/S开发适用于ASP.NET(C# & VB.NET)...

    php报表扩展

    【php报表扩展】是一种在PHP开发环境中用于创建报表和数据可视化功能的工具。它通过集成特定的库或框架,能够帮助开发者快速构建出各种复杂的报表,包括但不限于柱状图、折线图、饼图以及更复杂的图表类型。这种扩展...

    最好用免费报表开发工具 Grid++Report 6.8.9.1模板示例

    最好用免费报表开发工具 Grid++Report 6.8.9.1 20240619 最新版 Grid++Report是一款同时支持C/S软件(桌面程序)与B/S软件(WEB程序)开发的报表工具,功能全面易学易用。C/S开发适用于VB.NET、C#、VB6、VB、VC、Delphi...

    最好用免费报表开发工具 Grid++Report 6.7.2 (6.7.20.218)含演示Demo例子模板

    B/S开发适用于ASP.NET(C# & VB.NET),PHP,JSP(JAVA)等,支持所有WEB服务器。开发C/S报表与B/S报表的编程接口、报表模板与报表数据通用,共享相同的开发知识与设计资源。 1. 含C/S报表组件、WEB报表插件、HTML5...

    php 报表图 (ecshop后台)

    在IT行业中,PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域有着重要的地位。在给定的标题“php 报表图 (ecshop后台)”中,我们可以推测这涉及到的是ECShop电商平台的后端管理系统中用于数据展示的部分...

    iReport3.7开发Web报表

    这款工具在IReport3.7.2版本中进行了重大改进,采用了Netbeans框架,提供了更为友好的用户界面和更强大的功能。...总的来说,IReport是一个强大而灵活的报表开发工具,对于Java开发人员来说是一个理想的报表解决方案。

Global site tag (gtag.js) - Google Analytics