Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenie kilku tabel do tablicy i wyświetlenie
Forum PHP.pl > Forum > PHP
stas163
Witam, mam problem, a mianowicie załóżmy, że mam tabele: config_uczniowie, config_przedmioty, config_oceny i oceny, teraz w tabeli config_uczniowie mam wszystkich zarejestrowanych uczniów, w config_przedmioty mam wszystkie przedmioty jakich są uczeni uczniowie w szkole, config_oceny tutaj mam wszystkie oceny od 1 do 6 a w tabeli oceny znajduja się dane jaki uczen dostal jaka ocene i z jakiego przedmiotu. Teraz jezeli ja zrobiłem to w pętli, aby wyświetlić wszystkie oceny i przedmioty ucznia dostałem wynik taki:

Oceny ucznia Jan Kowalski:

Matematyka: 3
Matematyka: 2
Historia: 5
Historia: 2

Czyli robię pętle wszystkiego a chce, aby przedmiot powtórzył się tylko raz a, oceny wszystki czyli, żeby wyglądało to tak:


Oceny ucznia Jan Kowalski:

Matematyka: 3, 2
Historia: 5,2

Wiem, że trzeba to zrobić na tablicach, ale nie potrafie wpaść na pomysł jak to zrobić już jakiś czas się z tym trudzę i nie potrafię, bardzo będę wdzięczny za pomoc!! wink.gif

erix
Uhm, MySQL ma coś takiego, jak GROUP_CONCAT. wink.gif
stas163
Hmm, ale jak to zastosować w moim przypadku ja znalazłem, ale pisało coś całkiem innego niż ja potrzebuje, z góry dzięki wink.gif
Piogola
Pokaż jak próbowałeś zrobić zapytanie
stas163
CODE
$wynik = $_sql-> zapytanie("SELECT config_przedmioty.id AS przedmiot_id, config_uczniowie.id AS uczen_id, oceny.id AS oceny_id, config_uczniowie.imie AS uczen_imie, config_uczniowie.nazwisko AS uczen_nazwisko, config_przedmioty.nazwa AS uczen_przedmiot, GROUP_CONCAT( config_oceny.nazwa ) AS uczen_ocena, config_nauczyciele.imie AS uczen_nauczyciel_imie, config_nauczyciele.nazwisko AS uczen_nauczuciel_nazwisko, config_klasy.nazwa AS uczen_klasa
FROM `oceny` , `config_nauczyciele` , `config_uczniowie` , `config_oceny` , `config_przedmioty` , `config_klasy`
WHERE oceny.uczen = config_uczniowie.id
AND oceny.nauczyciel = config_nauczyciele.id
AND oceny.przedmiot = config_przedmioty.id
AND oceny.ocena = config_oceny.id
AND config_klasy.id = config_uczniowie.klasa
AND config_uczniowie.id='$_GET[idu]'
ORDER BY config_przedmioty.nazwa
", $polaczenie);



O to zapytanie wink.gif
erix
http://dev.mysql.com/doc/refman/5.0/en/gro...on_group-concat

I zobacz, czego Ci brakuje.
stas163

Dobra już wszystko zadziałało wielkie dzieki za tą funkcje wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.