php - 如何在 PHP 中从具有相同 ID 的数据库中获取多个结果(行)?
问题描述
我正在使用 PHP 对 SQL 服务器数据库进行 CRUD 操作。我不使用任何 PHP 框架,仅自定义。也许有一些我需要的框架?
我使用 SQL Server Management Studio 在数据库中创建了一个视图,然后使用该视图在 PHP 中选择所需的数据。
问题是对于一行我有多个项目,所以所有这些项目都具有相同的行 ID,我只能在我的 Web 应用程序上获得第一行的结果,但我需要在我的 Web 应用程序上打印该 ID 的所有项目。我怎样才能做到这一点?如果该行只有一个项目,那很好,但如果有多个项目,我还需要打印数据,这就是问题所在。
任何 PHP 框架都有帮助吗?或者,如果有意义的话,我应该考虑使用 Python Django 吗?
我无法访问我今天工作的数据库,但我会举例说明以便更好地理解。
数据库示例中的行
ID PC 项目
1 HP Core i5
1 HP 4GB RAM
1 HP Nvidia 1060
2 Dell Core i7
2 Dell 8GB RAM
3 Acer Core i7
3 Acer 4GB RAM
3 Acer Nvidia 1070
3 Acer SSD 240 GB
因此,对于每台 PC,我都需要用 PHP 打印它们的所有组件(项目)。我希望你现在能明白。
script.js 和 orderDetails.php 文件
function showDetails(button) { // Show all details (items) of one row
var orderNumber = button.id;
// alert(orderNumber);
// AJAX call to get specific customer data
$.ajax({
url: "orderDetails.php",
method: "GET",
data: {
"orderNumberGET": orderNumber
},
success: function(response) {
alert(response);
// Parsing JSON string
var rowData = JSON.parse(response);
$("#acKey").text(rowData.RN_key);
$("#item1").text(rowData.anNo);
$("#item2").text(rowData.acIdent);
$("#item3").text(rowData.anQty);
$("#item4").text(rowData.anNo);
$("#item5").text(rowData.acIdent);
$("#item6").text(rowData.anQty);
}
}
});
}
// orderDetails.php file
<?php
require 'dbConnection.php';
if ($conn) {
$orderNumber = $_GET["orderNumberGET"];
$sql222 = "SELECT * FROM _Servisni_nalog_ToDo WHERE RN_key=$orderNumber";
$stmt = sqlsrv_query($conn, $sql222);
$json = '';
// $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { // trying to print all with while loop, didn't succee. I can only get multiple json as response for every row (with same IDs) but don't know how to access any but first
// echo $row['anNo'];
$json .= json_encode($row);
// echo $row;
}
echo $json;
// $array = json_decode($json, true);
// echo json_encode($row);
}
else echo "No connection to database. Please check internet connection.";
解决方案
推荐阅读
- python - Python 下对角线和上对角线中的矩阵数据
- mysql - INT(1)和INT(11)有什么区别,其中一个存储值99999
- python - 在 Resnet50 keras.applications 中修改 maxpooling 层
- python - Python 在 Excel 中打开 html 文件
- python - Web Scraping 提供了整个 html
- python - `asyncio` 模块中是否有 `CalledProcessError` 的类似物?
- c++ - 如何在 C++ 中清除 unordered_map 的 unordered_map?
- php - PHP中唯一的4个字符代码
- php - 在php中使用输入和输出参数调用SQL Server存储过程
- javafx - JavaFX - 带有 StackPane 的 ScrollPane - 当 viewportBounds 更改时,StackPane 的子项未布局