Возврат данных нескольких ответов в одном ответе
В вашем коде PHP есть запрос, который извлекает несколько строк данных из таблицы базы данных . Однако вы получаете несколько ответов и хотите объединить их в один ответ с несколькими записями.
Чтобы добиться этого, вам необходимо изменить свой запрос, чтобы выполнить левое соединение для необходимых таблиц. Вместо получения данных об учащихся вы получите данные по предметам и включите соответствующую информацию об учащихся, используя левые соединения. Это позволит вам включать связанные данные из нескольких таблиц в один ответ.
Вот пример обновленного запроса:
$sql = 'SELECT
subjects.userid,
users.name AS username,
(
SELECT id
FROM tbsubjects
WHERE userid = subjects.userid
ORDER BY id ASC
LIMIT 1
) AS subjectsid,
(
SELECT name
FROM tbsubjects
WHERE
userid = subjects.userid
ORDER BY time DESC
LIMIT 1
) AS subjectname,
(
SELECT IFNULL(SUM(points), 0)
FROM tbsubjects
WHERE
userid = subjects.userid
AND month = DATE_FORMAT(NOW(), "%c")
) AS activepts,
IFNULL(SUM(subjects.points), 0) AS totalpts,
(
SELECT IFNULL(SUM(points), 0)
FROM tbsubjects
WHERE
userid = subjects.userid
AND semester = 1
) AS sem1,
(
SELECT IFNULL(SUM(points), 0)
FROM tbsubjects
WHERE
userid = subjects.userid
AND semester = 2
) AS sem2,
(
SELECT IFNULL(SUM(points), 0)
FROM tbsubjects
WHERE
userid = subjects.userid
AND semester = 3
) AS sem3
FROM
tbsubjects AS subjects
LEFT JOIN tbusers AS users ON users.id = subjects.userid
WHERE subjects.userid = :userid GROUP BY subjects.userid ORDER BY subjects.time DESC';
В этом запросе:
После выполнения этого запроса вы получите один ответ, содержащий несколько записей предметов, каждая из которых содержит необходимую информацию об учащихся и расчетные значения.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3