首页 > 解决方案 > 如何在 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.";

标签: phpsql-serverajaxdatabasecrud

解决方案


推荐阅读