Ich habe eine Tabelle MySQL wie untenSo gruppieren oder marge SQL Zeilen über PHP nach Abfrage
id | roll | exam_id | course_id | marks | status
----------------------------------------------------------
1 | 01001 | 1 | 1 | 56 | 1
2 | 01002 | 1 | 1 | 68 | 1
3 | 01003 | 1 | 1 | 55 | 1
4 | 01004 | 1 | 1 | 67 | 1
5 | 01001 | 1 | 2 | 54 | 1
6 | 01002 | 1 | 2 | 59 | 1
7 | 01003 | 1 | 2 | 62 | 1
8 | 01004 | 1 | 2 | 63 | 1
9 | 01001 | 2 | 3 | 61 | 1
10 | 01002 | 2 | 3 | 48 | 1
11 | 01003 | 2 | 3 | 22 | 1
12 | 01004 | 2 | 3 | 39 | 1
Jetzt habe ich die ganze Reihe mit exam_id = 1
SELECT * FROM result WHERE exam_id=1 ORDER BY course_id
Danach haben will muss ich Diese Tabelle innerhalb von HTML anzeigen, nachdem sie gruppiert wurde, nach bedeutet eine Zeile für jede Rolle, die eine Zeilenspanne gemäß der Kursnummer der Ergebnistabelle
Roll | course_id | marks
-----------------------------
01001 | 1 | 56
| 2 | 68
-----------------------------
01002 | 1 | 55
| 2 | 67
-----------------------------
01003 | 1 | 55
| 2 | 62
-----------------------------
01004 | 1 | 67
| 2 | 63
hat
Ich benutze Codeigniter-Framework, um dieses Projekt zu tun. Irgendwelche Vorschläge, wie ich das machen kann?
Vielen Dank im Voraus.
[EDIT] Aktuelle SQL ich, dies zu tun bin mit:
SELECT * FROM `exam_result` JOIN `course` ON `course`.`course_tab_id`=`exam_result`.`result_course` WHERE `exam_id` = '1' AND `result_status` = 1 GROUP BY `exam_result`.`exam_roll`, `course`.`course_tab_id` ORDER BY `exam_result`.`exam_roll` ASC, `course`.`course_id` ASC
Warum nicht Sie Gruppe durch Rolle in SQL-Abfrage selbst und verwenden nur die Daten auf Ihren HTML-Tabelle zu binden, oder was auch immer Sie für die Anzeige verwenden in UI – Sujith
Verwendung 'array_merge'. –
Ordnen Sie einfach durch roll und course_id '' 'SELECT * FROM Ergebnis WHERE exam_id = 1 ORDER BY roll, Kurs_id''' – Neodan