TABLE `oceny` ( `id_oceny` int(11) NOT NULL AUTO_INCREMENT, `id_przedmiot` int(11) NOT NULL DEFAULT '0', `id_uczen` int(11) NOT NULL DEFAULT '0', `ocena` int(11) NOT NULL DEFAULT '0', TABLE `przedmioty` ( `id_przedmiotu` int(11) NOT NULL AUTO_INCREMENT, `przedmiot` varchar(25) DEFAULT NULL, TABLE `uczniowie` ( `id_ucznia` int(11) NOT NULL AUTO_INCREMENT, `imie` varchar(255) NOT NULL DEFAULT '', `nazwisko` varchar(255) NOT NULL DEFAULT '', `uczen_idrodzica` int(11) DEFAULT NULL, `uczen_idklasy` int(11) NOT NULL DEFAULT '0',
na napisałem coś takiego:
<?php // funkcja wyswietlanaca oceny function ocena ($id_ucznia, $przedmiot) { // zxapytanie o oceny z przedmiotu $zapytanie_oceny = mysql_query("SELECT ocena FROM oceny WHERE id_przedmiot='$przedmiot' AND id_uczen='$id_ucznia'"); if (!$zapytanie_oceny) { } $napis = "brak ocen"; } $ocena = $wynik['ocena']; } } // zapytanie o przedmioty i wyświetleenia listy ocen $liczba = 1; SELECT id_ucznia, imie, nazwisko, uczen_idrodzica FROM uczniowie where uczen_idklasy=$id_class order by uczniowie.nazwisko"); if (!$zapytanie) { } } $id = $wynik['id_ucznia']; $id_rodzic = $wynik['uczen_idrodzica']; $liczba ++; ocena ($id, $_POST['przedmiot_id']); } } ?>
w tym moim kodzie jest funkcje OCENA (mająca własne zapytanie do bazy), która jest wywoływana tyle razy ilu jest uczniów w klasie, i sluży do wyświetlenia ocen uczna z danego przedmiotu
A moje pytanie brzmi, czy nie da się jakoś napisać tego w taki sposób, aby wszystko zmieścić w jednej funkcji i napisać tylko jedno zapytanie do bazy danych, tak by wyświetliła taki wynik:
OCENY Z MATEMATYKI:
Nazwisko1 Imię1 - 1, 5, 3, 4
Nazwisko2 Imię2 - 5, 1, 4, 4
z góry dziękuje za wszelką pomoc