多维 HighCharts

news2024/11/25 12:23:55
1:showHighChart.html

<!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="UTF-8">
		<!-- js脚本都是官方的,后两个是highchart脚本 -->
		<script type="text/javascript" src="jquery1.7.1.min.js"></script>
		<script src="highcharts.js"></script>
		<script src="exporting.js"></script>

	  	<script>
		  	$(function(){
				retrieve();
			});
		  	
		  	function retrieve(){
				var chartType = "spline"; /*line column spline bar*/
				var firstDim = $("#firstDim").val();
				var secondDim = $("#secondDim").val();
				var requestUrl = "getHighChartData.php?firstDim="+firstDim+"&secondDim="+secondDim;
				retrieveHighChartReport("hcDiv",chartType,requestUrl);
			}

			function retrieveHighChartReport(renderDiv,chartType,requestUrl){
				var options = {
					chart:{renderTo:renderDiv,
						   type:chartType,
						   marginRight:130,
						   marginBottom:25
					},
					title:{text:'IFly HighChart',
						   x:-20	//center
					},
					xAxis:{categories:[],
						   gridLineWidth:1
					},
					yAxis:{
						title:{
							text:'Y-Axis Name'
						},
						plotLines:[{value:0,
									width:1,
									color:'#808080'
								  }]
					},
					tooltip:{formatter:function(){
								return '<b>'+this.series.name+'</b><br />'+this.x+': '+this.y;
							 }
					},
					legend:{layout:'vertical',
							align:'right',
							verticalAlign:'top',
							x:-10,
							y:100,
							borderWidth:0
					},
					series:[]
				}
				$.getJSON(requestUrl,function(json){
					options.xAxis.categories=json[0]['xAxisData'];
					options.series[0] = json[1];
					options.series[1] = json[2];
					chart = new Highcharts.Chart(options);
				});
			}
	  	</script>
	</head>
	<body >
		<input type="text" value="展现维度:销售数量" id="firstDim" />
		<input type="text" value="展现维度:总价" id="secondDim" />
		<div id="hcDiv" style="min-width:800px;height:500px;margin:0 auto;" ></div>
		<br /><br />
	</body>
</html>

2:conn.php:

<?php

$conn = @mysql_connect('localhost:port','root','password');
if (!$conn) {
	die('Could not connect: ' . mysql_error());
}
mysql_select_db('dbname', $conn);

?>

3:database:

SET FOREIGN_KEY_CHECKS=0;

DROP TABLE IF EXISTS `osa_menu_url`;
CREATE TABLE `osa_menu_url` (
  `menu_id` int(11) NOT NULL AUTO_INCREMENT,
  `menu_name` varchar(50) NOT NULL,
  `menu_url` varchar(255) NOT NULL,
  `module_id` int(11) NOT NULL,
  `is_show` tinyint(4) NOT NULL COMMENT '是否在sidebar里出现',
  `online` int(11) NOT NULL DEFAULT '1' COMMENT '在线状态,还是下线状态,即可用,不可用。',
  `shortcut_allowed` int(10) unsigned NOT NULL DEFAULT '1' COMMENT '是否允许快捷访问',
  `menu_desc` varchar(255) DEFAULT NULL,
  `father_menu` int(11) NOT NULL DEFAULT '0' COMMENT '上一级菜单',
  PRIMARY KEY (`menu_id`),
  UNIQUE KEY `menu_url` (`menu_url`)
) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8 COMMENT='功能链接(菜单链接)';

INSERT INTO `osa_menu_url` VALUES ('1', '首页', '/index.php', '1', '0', '1', '1', '后台首页', '0');
INSERT INTO `osa_menu_url` VALUES ('2', '账号列表', '/admin/users.php', '1', '1', '1', '1', '账号列表', '0');
INSERT INTO `osa_menu_url` VALUES ('3', '修改账号', '/admin/user_modify.php', '1', '0', '1', '0', '修改账号', '2');
INSERT INTO `osa_menu_url` VALUES ('4', '新建账号', '/admin/user_add.php', '1', '0', '1', '1', '新建账号', '2');
INSERT INTO `osa_menu_url` VALUES ('5', '个人信息', '/admin/profile.php', '1', '0', '1', '1', '个人信息', '0');
INSERT INTO `osa_menu_url` VALUES ('6', '账号组成员', '/admin/group.php', '1', '0', '1', '0', '显示账号组详情及该组成员', '7');
INSERT INTO `osa_menu_url` VALUES ('7', '账号组管理', '/admin/groups.php', '1', '1', '1', '1', '增加管理员', '0');
INSERT INTO `osa_menu_url` VALUES ('8', '修改账号组', '/admin/group_modify.php', '1', '0', '1', '0', '修改账号组', '7');
INSERT INTO `osa_menu_url` VALUES ('9', '新建账号组', '/admin/group_add.php', '1', '0', '1', '1', '新建账号组', '7');
INSERT INTO `osa_menu_url` VALUES ('10', '权限管理', '/admin/group_role.php', '1', '1', '1', '1', '用户权限依赖于账号组的权限', '0');
INSERT INTO `osa_menu_url` VALUES ('11', '菜单模块', '/admin/modules.php', '1', '1', '1', '1', '菜单里的模块', '0');
INSERT INTO `osa_menu_url` VALUES ('12', '编辑菜单模块', '/admin/module_modify.php', '1', '0', '1', '0', '编辑模块', '11');
INSERT INTO `osa_menu_url` VALUES ('13', '添加菜单模块', '/admin/module_add.php', '1', '0', '1', '1', '添加菜单模块', '11');
INSERT INTO `osa_menu_url` VALUES ('14', '功能列表', '/admin/menus.php', '1', '1', '1', '1', '菜单功能及可访问的链接', '0');
INSERT INTO `osa_menu_url` VALUES ('15', '增加功能', '/admin/menu_add.php', '1', '0', '1', '1', '增加功能', '14');
INSERT INTO `osa_menu_url` VALUES ('16', '功能修改', '/admin/menu_modify.php', '1', '0', '1', '0', '修改功能', '14');
INSERT INTO `osa_menu_url` VALUES ('17', '设置模板', '/admin/set.php', '1', '0', '1', '1', '设置模板', '0');
INSERT INTO `osa_menu_url` VALUES ('18', '便签管理', '/admin/quicknotes.php', '1', '1', '1', '1', 'quick note', '0');
INSERT INTO `osa_menu_url` VALUES ('19', '菜单链接列表', '/admin/module.php', '1', '0', '1', '0', '显示模块详情及该模块下的菜单', '11');
INSERT INTO `osa_menu_url` VALUES ('20', '登入', '/login.php', '1', '0', '1', '1', '登入页面', '0');
INSERT INTO `osa_menu_url` VALUES ('21', '操作记录', '/admin/syslog.php', '1', '1', '1', '1', '用户操作的历史行为', '0');
INSERT INTO `osa_menu_url` VALUES ('22', '系统信息', '/admin/system.php', '1', '1', '1', '1', '显示系统相关信息', '0');
INSERT INTO `osa_menu_url` VALUES ('23', 'ajax访问修改快捷菜单', '/ajax/shortcut.php', '1', '0', '1', '0', 'ajax请求', '0');
INSERT INTO `osa_menu_url` VALUES ('24', '添加便签', '/admin/quicknote_add.php', '1', '0', '1', '1', '添加quicknote的内容', '18');
INSERT INTO `osa_menu_url` VALUES ('25', '修改便签', '/admin/quicknote_modify.php', '1', '0', '1', '0', '修改quicknote的内容', '18');
INSERT INTO `osa_menu_url` VALUES ('26', '系统设置', '/admin/setting.php', '1', '0', '1', '0', '系统设置', '0');
INSERT INTO `osa_menu_url` VALUES ('101', '样例', '/sample/sample.php', '2', '1', '1', '1', '', '0');
INSERT INTO `osa_menu_url` VALUES ('102', '读取Excel.xls文件', '/sample/read_excel.php', '2', '1', '1', '1', '', '0');

4:getHighChartData.php:

<?php
	
	include 'conn.php';
	$resultArr = array();

	$firstDim = $_REQUEST['firstDim'];
	$secondDim = $_REQUEST['secondDim'];
	
	$baseSql = "select menu_id,module_id,is_show from osa_menu_url ";
	
	$rs = mysql_query($baseSql);

	$rowChannelName = array();
	$rowSellNum = array();
	$rowSellNum['name'] = $firstDim;
	$rowTotalPrice = array();
	$rowTotalPrice['name'] = $secondDim;

	while($rec = mysql_fetch_assoc($rs)){
		$rowChannelName['xAxisData'][] = $rec['menu_id'];
		$rowSellNum['data'][] = $rec['module_id'];
		$rowTotalPrice['data'][] = $rec['is_show'];
	}
	
	array_push($resultArr,$rowChannelName);
	array_push($resultArr,$rowSellNum);
	array_push($resultArr,$rowTotalPrice);

	print json_encode($resultArr,JSON_NUMERIC_CHECK);

?>

5:访问showHighChart.html:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯-求阶乘

问题描述 满足 N!的末尾恰好有 区 个o的最小的 N 是多少? 如果这样的 N 不存在输出 -1。 输入格式 一个整数 区。 输出格式 一个整数代表答案。 样例输入 样例输出 10 评测用例规模与约定 对于 30% 的数据,1<K<106 对于 100% 的数据,1<K<1018 运行限制 最大运行时…

lua学习笔记14(协程的学习)

print("*****************************协程的学习*******************************") --创建1 coroutine.create(function()) 使用1 coroutine.resume(co) -- 创建2 co2coroutine.wrap(fun) 使用2 co2() --协程的挂起函数 coroutine.yield() --协程的状态 --c…

生成随机图片验证码

随着互联网的不断发展&#xff0c;安全性问题日益突出。为了保障用户账号的安全性&#xff0c;很多网站都引入了验证码机制。验证码是一种区分用户是计算机还是人的公共全自动程序&#xff0c;可以有效防止恶意攻击和自动化脚本的滥用。本文将介绍如何使用Python生成随机图片验…

liunx环境变量学习总结

环境变量 在操作系统中&#xff0c;环境变量是一种特殊的变量&#xff0c;它们为运行的进程提供全局配置信息和系统环境设定。本文将介绍如何自定义、删除环境变量&#xff0c;特别是对重要环境变量PATH的管理和定制&#xff0c;以及与环境变量相关的函数使用。 自定义环境变…

多模态小记:CLIP、BLIP与BLIP2

CLIP 使用网络上爬取得到的大量图文对进行对比学习&#xff0c;图文匹配的是正样本&#xff0c;图文不匹配的是负样本&#xff0c;使匹配样本的embedding之间的距离尽可能小&#xff0c;不匹配样本间的距离尽可能大。 缺点&#xff1a;网上爬的数据质量差&#xff0c;不能进行…

个人求职简历(精选8篇)

HR浏览一份简历也就25秒左右&#xff0c;如果你连「好简历」都没有&#xff0c;怎么能找到好工作呢&#xff1f; 如果你不懂得如何在简历上展示自己&#xff0c;或者觉得怎么改简历都不出彩&#xff0c;那请你一定仔细读完。 互联网运营个人简历范文> 男 22 本科 AI简历…

最新! Gemini 1.5 Pro: 现已在 180 多个国家/地区发布;提供本地音频理解、系统说明、JSON 模式等功能!

概述 不久前&#xff0c;Gemini团队在Google AI Studio中推出了先进的Gemini 1.5 Pro模型&#xff0c;邀请开发者们进行体验和测试。社区成员利用Gemini模型的100万个上下文窗口进行的调试、创新和学习成果&#xff0c;令我们感到惊喜不已。 4月9号&#xff0c;Gemini团队骄傲…

C语言:指针详解(2)

目录 一、数组名的理解 二、使用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 正文开始 一、数组名的理解 在上一篇博客中我们在使用指针访问数组的内容时有这样的代码&#xff1a; int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &…

基于ollama和CPU运行本地gguf量化模型

前言 本文先以Windows电脑运行为例&#xff0c;Linux同理 本案运行配置&#xff1a; Win11/CPU i5/RAM 32G &#xff08;实际运行使用约占用10G&#xff09; 假设你已经下载好了需要的xxx.gguf模型文件&#xff0c;本案&#xff1a; wizardcoder-python-13b-v1.0.Q5_K_M.gguf…

【Ubuntu】远程连接乌班图的方式-命令行界面、图形界面

​​​​​​系统环境&#xff1a;ubuntu-22.04.2-amd64.iso 连接工具&#xff1a;MobaXterm、windows自带远程桌面mstsc.exe 重置root密码&#xff1a;Ubuntu默认root密码是随机的&#xff0c;需要使用命令sudo passwd 进行重置。 一、命令行界面-SSH连接 1.1 SSH服务安装 …

实现多文件合并和去重的MapReduce作业

实现多文件合并和去重的MapReduce作业 问题描述 我们有多个文本文件&#xff0c;每个文件包含一些文本行。我们的目标是将这些文件合并成一个文件&#xff0c;并去除重复的行&#xff0c;最终得到一个去重后的文本文件。 输入文件A数据如下&#xff1a; 输入文件B数据如下&…

完全可定制的富文本编辑器:逻辑清晰,插件赋能 | 开源日报 No.218

ianstormtaylor/slate Stars: 28.8k License: MIT slate 是一个完全可定制的框架&#xff0c;用于构建富文本编辑器。 可以构建类似 Medium、Dropbox Paper 或 Google Docs 的富文本编辑器通过一系列插件实现所有逻辑&#xff0c;避免代码复杂度受到 Draft.js、Prosemirror 和…

行锁升级表锁如何避免?表锁后如何排查?

一、那些场景会造成行锁升级表锁 说明&#xff1a; InnoDB引擎3种行锁算法&#xff08;Record Lock、Gap Lock、Next-key Lock&#xff09;都是锁定的索引。 当触发X锁&#xff08;写锁&#xff09;的where条件 无索引 或 索引失效 时&#xff0c;查询的方式就变成全表扫描&…

【机器学习】科学库使用第4篇:Matplotlib,学习目标【附代码文档】

机器学习&#xff08;科学计算库&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习&#xff08;常用科学计算库的使用&#xff09;基础定位、目标&#xff0c;机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小…

AI实时换天解决方案:重塑汽车与旅行拍摄新视界

在汽车拍摄与旅行摄影领域&#xff0c;天空作为画面中的重要元素&#xff0c;往往决定着整体视觉效果的成败。美摄科技作为业界领先的AI视觉技术提供商&#xff0c;近日推出了全新的AI实时换天解决方案&#xff0c;为用户带来了前所未有的创意空间与效率提升。 传统的换天技术…

【简单讲解下WebView的使用与后退键处理】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

分布式文件系统——MinIo

1. 文件系统和分布式文件系统 1.1 文件系统 文件系统是负责管理和存储文件的系统软件&#xff0c;操作系统通过文件系统提供的接口去存取文件&#xff0c;用户通过操作系统访问磁盘上的文件。 1.2 分布式文件系统 一个计算机无法存储海量的文件&#xff0c;通过网络将若干计算…

Xshell连接CentOS7教程

一、在CentOS7中单击右键&#xff0c;打开命令行终端&#xff1a; 二、输入ifconfig命令之后&#xff0c;找到CentOS的ip地址&#xff1a; 三、打开Xshell&#xff0c;命令行中输入 “ssh 用户名上述查到的ip地址 ”&#xff0c;之后输入密码即可连接成功&#xff1a; 四、测试…

【鸿蒙开发】组件状态管理@Prop,@Link,@Provide,@Consume,@Observed,@ObjectLink

1. Prop 父子单向同步 概述 Prop装饰的变量和父组件建立单向的同步关系&#xff1a; Prop变量允许在本地修改&#xff0c;但修改后的变化不会同步回父组件。当父组件中的数据源更改时&#xff0c;与之相关的Prop装饰的变量都会自动更新。如果子组件已经在本地修改了Prop装饰…

嵌入式开发绝招:状态机+事件驱动框架

生活中有很多事件驱动的例子&#xff0c;上自习瞒着老师偷睡觉就是很生动的一个。在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无…