我有两张不同的桌子。表1:食物(有食物名称字段)表2:food_details(其中包含食物的数量字段)两者都通过食物的“id”连接起来。我创建了一个 Chartjs 图表来按图表显示食物的数量,因此现在该图表已连接到表 2,并使用 id 标签显示我的数量。但我的问题是,我想将食物的名称显示为带有数量的标签,但该字段位于表 1 中,我不知道如何获取和显示而不是食物的 id,或者即使这是可能的。这是我的代码数据:<?php header('Content-Type: application/json');define('DB_HOST', 'localhost');define('DB_USERNAME', 'root');define('DB_PASSWORD', '');define('DB_NAME', 'chartjs');$mysqli = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);if(!$mysqli){ die("Connection failed: " . $mysqli->error);}$query = sprintf("SELECT id, available_quantity FROM food_details ORDER BY id");$result = $mysqli->query($query);$data = array();foreach ($result as $row) { $data[] = $row;}$result->close();$mysqli->close();print json_encode($data); ?>图表脚本<script type="text/javascript">$(document).ready(function(){ $.ajax({ url: "http://localhost/chartjs/data.php", method: "GET", success: function(data) { console.log(data); var id = []; var available_quantity = []; for(var i in data) { id.push("id" + data[i].id); available_quantity.push(data[i].available_quantity); } var chartdata = { labels: id, datasets : [ { label: 'Food Storage', backgroundColor: 'rgba(200, 200, 200, 0.75)', borderColor: 'rgba(200, 200, 200, 0.75)', HoverBackgroundColor: 'rgba(200, 200, 200, 1)', HoverBorderColor: 'rgba(200, 200, 200, 1)', data: available_quantity } ] }; var ctx = $("#mycanvas"); var barGraph = new Chart(ctx, { type: 'horizontalBar', data: chartdata }); }, error: function(data) { console.log(data); } });});</script> 提前致谢
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
您似乎正在寻找join:
SELECT f.name, fd.available_quantity
FROM food_details fd
INNER JOIN food f on f.id = fd.id
ORDER BY fd.id
此查询从 表中检索每个 的 name,并将其放在第一列中的 。行仍然按 排序 - 如果您想要的话,可以将其更改为 。idfoodididname
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消