php - 有没有办法在一个 data.php 文件中进行多个查询?
问题描述
在这里与这个问题有关
data.php
我有多个 ajax 调用,每个调用在文件中都有自己的查询。这里只有一个 data.php 文件,但实际上会有 2 个带有自己的查询。有没有办法让 1 个文件在 1 个data.php
文件中有多个查询?
这是我的代码:
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) {
...
}
数据.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');
?>
解决方案
您可以通过将多次调用的结果存储到数组中来实现此目的:
数据.php
$stmt = $conn->prepare('select * from product');
$stmt->execute();
$products = $stmt->fetchAll(PDO::FETCH_OBJ);
$stmt = $conn->prepare('select * from customer');
$stmt->execute();
$customer = $stmt->fetchAll(PDO::FETCH_OBJ);
$data = [
'products' => $products,
'customers' => $customers
];
echo json_encode($data);
然后在你的javascript中:
google.charts.load('current', {
packages: ['corechart', 'bar']
}).then(function () {
$.ajax({
url: 'data.php',
dataType: 'json'
}).done(drawCharts(data));
});
从您的 drawCharts 函数中,访问每个结果集,例如data.products
或data.customers
推荐阅读
- delphi - 将 Char 参数作为“const”传递有什么好处吗?
- mysql - 连接两个只有单列的表并按行添加列
- python - 使用 RTMP 协议将视频文件流式传输到使用 Python 的 rtmp 服务器
- python - TypeError:列表最多需要 1 个参数,得到 2 个
- google-translate - GDPR 和谷歌翻译
- c# - 动态变量转化为动态类型
- android - 如何在房间查询中将字符串列表转换为 LIKE 子句?
- reactjs - antd table 从动态数据中分组数据
- sql - 通过规范化表中的现有列来添加新的列
- c# - 不使用定时器控制创建windows服务