Как получить несколько результатов (строк) из базы данных с одинаковыми идентификаторами в PHP? - PullRequest
0 голосов
/ 19 мая 2019

Я использую PHP для выполнения операций CRUD над базой данных сервера SQL.Я не использую PHP-фреймворк, только пользовательский.Может быть, есть какая-то структура для того, что мне нужно?

Используя SQL Server Management Studio, я создал представление в базе данных, а затем использую это представление для выбора необходимых данных в PHP.

Проблема в том, что для одной строки у меня несколько элементов, поэтому все эти элементы имеют одинаковый идентификатор строки, и я могу получить результат только первой строки в своем веб-приложении, но мне нужны все элементы для этого идентификаторанапечатано в моем веб-приложении.Как я могу этого достичь?Если в строке есть только один элемент, это нормально, но мне также нужны данные для печати, если имеется более одного элемента, вот в чем проблема.

Поможет ли какая-либо PHP-инфраструктура?Или, может быть, я должен рассмотреть Python Django, если это имеет смысл?

У меня нет доступа к базе данных, которая у меня есть на работе сегодня, но я приведу пример для лучшего понимания.

Строки в примере базы данных

ID ПК Элемент
1 HP Core i5
1 HP 4 ГБ ОЗУ
1 HP Nvidia 1060
2 Dell Core i7
2 Dell 8 ГБ ОЗУ
3 Acer Core i7
3 Acer 4 ГБ ОЗУ
3 Acer Nvidia 1070
3 Acer SSD 240 ГБ

Поэтому для каждого ПК мне нужно распечатать все их компоненты (элементы) на 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.";
...