我有兩張不同的桌子。表1:食物(有食物名稱字段)表2:food_details(其中包含食物的數(shù)量字段)兩者都通過(guò)食物的“id”連接起來(lái)。我創(chuàng)建了一個(gè) Chartjs 圖表來(lái)按圖表顯示食物的數(shù)量,因此現(xiàn)在該圖表已連接到表 2,并使用 id 標(biāo)簽顯示我的數(shù)量。但我的問(wèn)題是,我想將食物的名稱顯示為帶有數(shù)量的標(biāo)簽,但該字段位于表 1 中,我不知道如何獲取和顯示而不是食物的 id,或者即使這是可能的。這是我的代碼數(shù)據(jù):<?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貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
您似乎正在尋找join:
SELECT f.name, fd.available_quantity
FROM food_details fd
INNER JOIN food f on f.id = fd.id
ORDER BY fd.id
此查詢從 表中檢索每個(gè) 的 name,并將其放在第一列中的 。行仍然按 排序 - 如果您想要的話,可以將其更改為 。idfoodididname
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報(bào)
0/150
提交
取消