mam baze danych o takiej strukturze:
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) {
exit ('<br><p>Problem podczas pobierania ocen ucznia z bazy danych !!!<br/>'. }
$napis = "brak ocen";
}
$ocena = $wynik['ocena'];
echo "<span class='error'>";
}
}
// zapytanie o przedmioty i wyświetleenia listy ocen
if(!empty($_POST['przedmiot_id'])){
$liczba = 1;
SELECT
id_ucznia,
imie,
nazwisko,
uczen_idrodzica
FROM
uczniowie
where
uczen_idklasy=$id_class
order by
uczniowie.nazwisko");
if (!$zapytanie) {
exit ('<br><p>Problem podczas pobierania danych uczniów z bazy danych !!!<br/>'. }
echo "<div align='center'><span class='error'>brak wyników do wyswietlenia</span></div>"; }
$id = $wynik['id_ucznia'];
$id_rodzic = $wynik['uczen_idrodzica'];
echo "<p>$liczba. <b>$nazwisko $imie</b>"; $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