Otoz mam ponizszy kod:
<?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)
{
echo "Zestawienie średnich ocen z roku $rok:<BR><BR>";
if(isset($_GET['sem'])!=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>
<TD style="width
: 30
%;"><CENTER>".round($row_sred_sem['avg(ocena)'], 2)."</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";
$res_sred= @mysql_query($sql_sred, $connection) or
die("Zapytanie wyswietlenia srednich nieudane"); $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>
<TD style="width
: 50
%;"><CENTER>".round($row_sred['avg(ocena)'], 2)."</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?