一页多个ajax请求+如何做+最佳实践

2023-12-04

我现在正在研究谷歌图表,并且已经有了一个基本的设置。

它目前所做的是连接到数据库并返回基于 1 个查询的数据集。我想知道的是,如果我想用不同的数据库查询绘制更多图表,我该怎么做?或者什么是最佳实践?

例如,已经有一个与一个查询的连接,如何添加另一个查询,然后根据返回的内容绘制图表?

我知道这可能是一个广泛的问题,但也许有人可以告诉我如何从数据库返回不同的查询/数据集?

这是我的代码:

 $(document).ready(function(){

    console.log("hello world")
    //alert("result")

    $.ajax({
        url:"data.php",
        dataType : "json",
        success : function(result) {
            google.charts.load('current', {
                'packages':['corechart','bar']
            });
            google.charts.setOnLoadCallback(function() {
                console.log(result[0]["name"])
                drawChart(result);                  
            });
        }
    }); 

    //add a 2nd call - will need a 2nd draw charts to draw the different dataset assuming it will be different
    //                  - will need a 2nd data.php as the query will be different on the dataset
    $.ajax({
        url:"data.php",
        dataType : "json",
        success : function(result2) {
            google.charts.load('current', {
                'packages':['corechart','bar']
            });
            google.charts.setOnLoadCallback(function() {
                console.log(result2[0]["name"])
                drawChart(result2);                 
            });
        }
    }); 

    function drawChart(result) {

        var data = new google.visualization.DataTable();
        data.addColumn('string','Name');
        data.addColumn('number','Quantity');
        var dataArray=[];
        $.each(result, function(i, obj) {
            dataArray.push([ obj.name, parseInt(obj.quantity) ]);
        });

        data.addRows(dataArray);

        var piechart_options = {
            title : 'Pie Chart: How Much Products Sold By Last Night',
            width : 400,
            height : 300
        }
        var piechart = new google.visualization.PieChart(document
                .getElementById('piechart_div'));
        piechart.draw(data, piechart_options)

        var columnchart_options = {
            title : 'Bar Chart: How Much Products Sold By Last Night',
            width : 400,
            height : 300,
            legend : 'none'
        }
        //var barchart = new google.visualization.BarChart(document
            //  .getElementById('barchart_div'));               
        //barchart.draw(data, barchart_options)

        var chart = new google.charts.Bar(document.getElementById('columnchart_material'));
        chart.draw(data, google.charts.Bar.convertOptions(columnchart_options));
    }           //have added this column chart but need to wrok out if it is best practice????

}); 

我正在从数据库查询中获取一个对象,但我想知道如何从同一数据库连接返回更多/不同的数据集?例如,如果我想用从此查询返回的数据集绘制另一个图表怎么办select * from product where name="Product1" OR name="Product2";

0: Object { id: "1", name: "Product1", quantity: "2" }
​1: Object { id: "2", name: "Product2", quantity: "3" }
​2: Object { id: "3", name: "Product3", quantity: "4" }
​3: Object { id: "4", name: "Product4", quantity: "2" }
​4: Object { id: "5", name: "Product5", quantity: "6" }
​5: Object { id: "6", name: "Product6", quantity: "11" }

对于它的价值,我的 php 代码如下:

data.php

<?php
require_once 'database.php';
$stmt = $conn->prepare('select * from product');
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_OBJ);
echo json_encode($results); 
?>

数据库.php

<?php
$conn = new PDO('mysql:host=192.168.99.100;dbname=demo','root', 'root');
?>

note: this可能感兴趣


谷歌图表每次页面加载只需要加载一次,
并非每次需要绘制图表时

also, google.charts.load可以用来代替 -->$(document).ready
它将在执行回调/承诺之前等待页面加载

推荐类似于以下代码片段的设置...

google.charts.load('current', {
  packages: ['corechart', 'bar']
}).then(function () {
  $.ajax({
    url: 'data.php',
    dataType: 'json'
  }).done(drawChart1);

  $.ajax({
    url: 'data.php',
    dataType: 'json'
  }).done(drawChart2);
});

function drawChart1(result) {
  ...
}

function drawChart2(result) {
  ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一页多个ajax请求+如何做+最佳实践 的相关文章

  • XDebug 与 Symfony 和 PhpStorm 不起作用(Ubuntu 安装)

    关于我的系统的事实乌班图15 10PHP 5 6 11交响乐2 7PhpStorm 10调试2 4我真的很难让 xdebug 在 PhpStorm 的 Symfony 项目下工作 我安装了xdebug 在我的 etc php5 apache
  • 当存在联系时如何为数组分配排名号

    当尝试为数组中存在平局的数值分配排名时 我很难知道从哪里开始 因此 例如 我需要像下面这样转换一个数组 myarray 4 76 34 13 34 到另一个数组中 例如 myarray2 1 5 3 5 2 3 5 基本上 当相同的数字在数
  • PHP 有效读取 csv 文件

    有几种使用 PHP 读取 CSV 文件的方法 我以前用过explode函数将每一行放入一个数组中 然后explode逗号并使用trim删除数据周围的任何引号 本来就很乱 PHP 5 现在有fgetcsv和 str getcsv 我猜这是这些
  • HTML 表单 POST 到 PHP 页面 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 好的 我创
  • 如何将 Filesystem 类的 glob 方法与 StorageFacade 结合使用?

    这涉及到拉拉维尔 5 我可以看到Illuminate Filesystem Filesystem一个方法叫做glob pattern flags 0 不幸的是 这个方法并没有体现在默认的情况下FilesystemAdapter随 Larav
  • 基于 PHP 的 CSV 编辑器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道用 PHP 编写的在线 CSV 编辑器允许用户打开 编辑和保存给定的 CSV 文件 我能找到的只
  • symfony 2 形式的函数 getName 做什么

    这是我的表格类 class CommentType extends AbstractType public function buildForm FormBuilder builder array options builder gt ad
  • 如何在 PHP 中正确分割路径

    执行以下操作的最佳方法是什么 我通过 AJAX 请求获取路径 e g dir1 dir2 dir3 dir4 我需要在我的网页上这样展示它 dir1 gt gt dir2 gt gt dir3 gt gt dir4 它们每个都是 html
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • 一次将多个值插入MySQL [重复]

    这个问题在这里已经有答案了 谁能解释一下为什么这个 PHP MySQL 不起作用 基本上我需要从表单中一次插入大量行 因此会有多个名称字段 多个短 中 长字段等 我收到此错误 Notice Undefined variable Short1
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • jQuery和PHP中如何知道返回数据是Json还是String?

    我想在客户端 jQuery 检查 PHP 函数返回的数据是否是 Json 对象或 String 来分配不同的函数 如果 json 的格式不正确 jQuery 的 parseJson 将生成异常 您可以将调用包装在 try catch 块中
  • 从提交的表单中转义字符串中的字符

    每次发布帖子时 我都会得到转义字符 gt gt gt 我有一个多步骤表单 它将数据从一种表单传输到另一种表单 我将这些值与准备好的语句一起保存在数据库中 数据库中的值当前看起来像Paul s House 用户应该可以在字符串中使用单引号和双
  • CSV 从 UTF8 到 ISO-8859-1

    我正在尝试修改我的 CSV 导出 但它不会将我的 CSV 从 UTF 8 转换 保存为 ISO 8859 1 请问我做错了什么吗 实际上自从修改了这个之后 我得到了一个空的 CSV 文件 php 7 0 x function my Gene
  • Yii2 DropDownList Onchange 更改自动完成小部件“源”属性?

    我已经尝试过这个 yii2 依赖的自动完成小部件 https stackoverflow com questions 27025791 yii2 dependent autocomplete widget 但我不知道为什么它不起作用 这是我
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • Laravel 5 注销特定用户

    在我的 laravel 5 应用程序中 有一个功能允许具有管理员角色的用户重置非管理员的任何人的密码 但这不会强制该人注销并再次登录 更改密码后如何强制用户注销 我没有对用于验证用户身份或任何内容的中间件进行任何更改 我不知道它是否有效 但

随机推荐

  • Flickr API iOS 应用程序“POST 大小太大!”

    我正在尝试使用 API 将照片从 iOS 应用程序发送到 Flickr 我已成功获得授权并准备好使用令牌 我通过 HTTP POST 发送照片数据 并遵循此处的格式指南 http www flickr com services api up
  • 故事板奇怪的控制器视图框架起源

    我在 Xcode s 故事板中遇到了一个奇怪的问题 我的板上有大量视图控制器 由于某种原因 它们所有视图的原点都不为 0 所有 x 原点都是 160 y 原点都是 240 所有视图看起来仍然位于左上角 奇怪的是 大多数视图控制器的子视图似乎
  • 将字符串字段值更改为其子字符串的最有效方法

    我有一个包含如下文档的集合 data 11 version 0 0 32 有些有test后缀为version data 55 version 0 0 42 test The version字段具有不同的值 但它始终符合以下模式 0 0 XX
  • Scrapy如何提取类内部属性中的文本?

    我有下面的 HTML 代码 div class hero data skills item hero data skills item passive J tooltip title div
  • 将文档预加载到 iOS 应用程序中

    情况 我有一个 iOS 应用程序 可以处理文件并允许用户保存 编辑 打开这些文件并执行各种操作 我希望能够有一些预制文档供用户在打开应用程序 例如模板 以及他们自己的自定义文档时查看 问题 如何创建文档 或模板文件 并在用户安装我的应用程序
  • 在微风中创建复杂类型的未绑定实例的正确方法是什么?

    想象一下以下模型 class ComplexTypeA public string ComplexPropertyA class ParentTypeA public string ParentPropertyA public Comple
  • 省略html的可选标签

    我刚刚读过本文来自谷歌 我一直认为结束标签对于保持 html 文档干净并使其机器可读非常重要 但他们建议相反 你怎么看待这件事 谷歌的情况有点不寻常 因为他们提供了太多的主要搜索页面副本 以至于页面大小的任何微小节省很快都会增加 这意味着对
  • plpgsql - 在声明语句中使用动态表名

    我正在尝试编写 plpgsql 一个以下形式的函数 注意这是一个简化版本 CREATE FUNCTION check valid tablename regclass RETURNS boolean AS DECLARE valid row
  • css3 比例周围的空白

    我有一个小问题想要解决 但找不到任何好的答案 当我在 div 包含其他 div 上使用比例时 它会在 div 的 原始 宽度和高度周围留下空白 如何在缩放时删除 div 周围的空白 如果需要的话我可以使用js 编辑 这是一些代码 HTML
  • 为什么 lea 指令只是执行算术运算,却以内存寻址命名? [复制]

    这个问题在这里已经有答案了 The lea指令 加载有效地址 获取第一个值的内存地址并将其与第二个值相加 第二个值可能会相乘 然后它将该内存地址加载到给定的寄存器中 我举个例子来澄清一下我的困惑 eax 2 leal eax eax 4 e
  • iOS7.0 和 iOS 7.1 不支持动态桌面视图高度

    我在 UITableViewCell 的各种实现中使用了自动布局 该方法是让固有大小定义大小 进而为 tableview 行提供高度 奇怪的是 在 UITableViewCell 中使用 Autolayout 来定位 iOS7 及更高版本并
  • Android SENSOR_DELAY_FASTEST 不够快

    我正在使用传感器来平衡机器人 但是SENSOR DELAY FASTEST只提供10Hz的采样率 这根本不够快 有没有更快的采样方法 有没有一种方法可以轮询传感器而不是等待SensorEvent 有没有更快的采样方法 SENSOR DELA
  • bash - 如何获取(当前)儒略日数?

    如何获得今天的儒略日数 JDN 相等的 或者任何日期 我看了又看 但只发现了一些产生 year dayOfYear 的函数 而不是类似 2457854 in bash date j返回儒略日期 root TX Serv 1 date j 1
  • 如何在 ASP.NET 中从 Exchange Web 服务托管 API 2.0 更新约会

    我使用 EWS 托管 API 2 0 创建约会 效果很好 但也想更新现有的约会 我读到我需要预约 ID 来指定应编辑哪个预约 但是身份证在哪里呢 这是我创建约会的方法 Creates the Appointment Dim appointm
  • Koha RESTful api

    我一直在互联网上查找有关 Koha ILS Restful api 的信息 但没有找到任何具体信息 这个链接讨论了它的 HTTP API http wiki koha community org wiki Koha svc HTTP API
  • d3.js-向堆积条形图中的一个条形添加不同的颜色

    我使用 d3 js 创建了堆积条形图 我想显示一个具有不同颜色的条形图 以突出显示特定 x 轴值的数据 如下所示 我用来绘制堆积图的脚本如下 Set the dimensions of the canvas graph var svg d3
  • 如何在R中的关键字前添加逗号?

    我目前有一个城市的数据框 向量 其末尾有以以下任何一个开头的单词 Util Municipal Police Water 或末尾有 如何前往 Col City of Fake Municipal Court City of Pretend
  • 安装依赖项时composer-plugin-api错误

    我正在尝试为我正在处理的现有 Symfony 项目安装依赖项 我看了这个https getcomposer org doc 01 basic usage md composer lock the lock file它说我应该运行更新命令 p
  • 独立 EJB 客户端需要哪些 JBoss 5.1 库?

    我正在从 JBossAS 4 05 迁移到 JBoss 5 1 并且我对需要在 EJB 独立客户端中更改哪些库有疑问 从 JBossAS 4 0 5 开始 我有一个需要在所有客户端中部署的库的直接列表 但是 在 5 1 版本中 一些库被更改
  • 一页多个ajax请求+如何做+最佳实践

    我现在正在研究谷歌图表 并且已经有了一个基本的设置 它目前所做的是连接到数据库并返回基于 1 个查询的数据集 我想知道的是 如果我想用不同的数据库查询绘制更多图表 我该怎么做 或者什么是最佳实践 例如 已经有一个与一个查询的连接 如何添加另