<?php include ("baza.inc"); echo "<FORM METHOD=GET><TABLE> <TR><TD>Rok:</TD><TD><INPUT TYPE=Text name=rok size=10 maxlength=9></TD></TR> <TR><TD>Semestr:</TD><TD><INPUT TYPE=Text name=sem size=10 maxlength=9><BR></TD></TR> <TR><TD><INPUT TYPE=SUBMIT></TD></TR></TABLE> </FORM>"; if($_GET['rok']!=NULL) { { $sql_sred_sem = "SELECT o.id_stud, p.semestr, avg(ocena) from oceny as o, przedmioty aS p LEFT JOIN rok_akad as r on r.id_stud = o.id_stud and r.id_przed = o.id_przed where r.rok = '".$_GET['rok']."' and p.semestr = '".$_GET['sem']."' and o.id_przed = p.id group by o.id_stud order by 'avg(ocena)' DESC"; $res_sred_sem = @mysql_query($sql_sred_sem, $connection) or die("Zapytanie wyswietlenia srednich semestr nieudane"); $i=0; { $color = ($i % 2) ? 'silver' : 'white'; $wysw_sred_sem .=" <TR style="background-color:$color"> <TD style="width: 30%;"><CENTER>".$row_sred_sem['id_stud']."</CENTER></TD> <TD style="width: 30%;"><CENTER>".$row_sred_sem['semestr']."</CENTER></TD> </TR>"; $i++; } echo "<TABLE border=0 width=100> <TR> <TD width="30%"><b>Indeks</b></TD> <TD width="30%"><b>Semestr</b></TD> <TD width="30%"><b>Średnia</b></TD></TR>$wysw_sred_sem</TABLE><BR>"; } if($_GET['sem']==NULL) { $sql_sred = "SELECT o.id_stud, p.semestr, avg(ocena) from oceny as o, przedmioty aS p LEFT JOIN rok_akad as r on r.id_stud = o.id_stud and r.id_przed = o.id_przed where r.rok = '".$_GET['rok']."' group by o.id_stud order by 'avg(ocena)' DESC"; $i=0; { $color = ($i % 2) ? 'silver' : 'white'; $wysw_sred .=" <TR style="background-color:$color"> <TD style="width: 50%;"><CENTER>".$row_sred['id_stud']."</CENTER></TD> </TR>"; $i++; } echo "<TABLE border=0 width=100> <TR> <TD width="50%"><b>Indeks</b></TD> <TD width="50%"><b>Średnia</b></TD></TR>$wysw_sred</TABLE><BR>"; } } ?>
Sprawa jest o tyle dziwna, ze jak w pierwszym polu wpisze rocznik a w drugim nr semestru to wyswietlaja mi sie kolumny z wlasciwego warunku ale gdy drugie pole zostawie puste to wyswietla mi sie pierwsza czesc tabeli oraz reszta danych wg porownania drugiego, tak jakby to drugie pole jednak nie bylo puste i sie to wykonywalo. Gdzie popelnilem blad w warunku?