إرجاع بيانات الاستجابة المتعددة في استجابة واحدة
في كود 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