Skripti http://oppe.admin.ut.ee/ained/tulemus/Nimi.asp kood

VÄRVIDE TÄHENDUSED
   Serveripoolne skript
   Kliendipoolne skript
   Link
   Include-lause
   Freimid
   Kommentaarid
   Objekti link
   HTML ja tavaline tekst


<%
'Tartu Ülikooli õppeaineregistri WWW-liides
'Autor: Aulis Sibola
'Juhendaja: Jaanus Pöial

'Aine nime (osa) järgi otsimine.
'Skriptile edastatakse nimi (selle osa) ja muud atribuudid ning
'ta väljastab vastavalt neile ainete nimekirja.
'Edasi suundutakse siit juba konkreetse aine juurde.
%>

<!--#INCLUDE  file="header.lisamine"-->
<!--#INCLUDE  file="eelmkontr.inc"-->
<%
'Kui kasutaja soovib SQL-is viga esile kutsuda (küsides ülakoma),
'saadetakse avalehele:
if InStr(Request("nimi"),"'") then
  Response.Redirect("algus.asp")
end if

'Kui soovitakse ülilühikest (pikkus väiksem kui 3)
'nime otsida, suunatakse algusse:
if len(Request("nimi")) <  3 then
  Response.Redirect("algus.asp")
end if

'Kui soovitakse jooksva õppeaasta aineid, tuleb aastaarv arvutada:
if Request("selaastal") = "OK" then%>

<!--#INCLUDE  file="jooksevaasta.inc"-->
<%end if

'Ühenduse loomine:
Set yhendus = Server.CreateObject("ADODB.Connection")
'Andmebaasi avamine:
yhendus.Open "Aineregister"
%>

<html>
<head>
<title><%
'Tiitli väljastus (tähestikuline või mitte).
if Request("tahestik") = "OK" then
%>
Ainete t&auml;hestikuline nimekiri<%
else
%>
Ainete nimekiri<%
end if
%>
</title>
</head>
<!--#INCLUDE  file="body.htm"-->
<center>
<h2>Ained, mille<%
'Vastavalt küsitule väljastatakse pealkiri.
if Request("suur") = "alamstringi" then
%>
  nimes sisaldub '<%=Request("nimi")%>'<%
else
%>
  nimi on '<%=Request("nimi")%>'<%
end if%>
:</h2>
</center>
<%
'Ainete leidmine andmebaasist
'Päringustring:
'Kontrollitakse kas klient soovib tähestikulist järjekorda,
'jooksva õppeaasta aineid ning otsingutüüpi (alamstring/nimi).
Paring = "select DBA_aine.teaduskond, DBA_aine.instituut, " & _
   "DBA_aine.oppetool, DBA_aine.nr, DBA_aine.algoppeaasta, " & _
   "DBA_aine.loppoppeaasta, DBA_Tekst.nimi "
if Request("tahestik") = "OK" then
  Paring = Paring & ", DBA_Tekst.sort "
end if
Paring = Paring & "from DBA_Aine, DBA_Tekst "
if Request("selaastal") = "OK" then
  Paring = Paring & ", DBA_ajakava "
end if
if Request("tahestik") <> "OK" then
  Paring = Paring & ", DBA_teaduskond "
end if
Paring = Paring & "where DBA_Aine.kood = DBA_Tekst.aine and " & _
   "DBA_Tekst.lõppaasta is Null and "
if Request("selaastal") = "OK" then
  Paring = Paring & "DBA_Aine.kood = DBA_ajakava.aine and " & _
   "DBA_ajakava.aasta = " & JooksevAasta & " and "
end if
if Request("tahestik") <> "OK" then
  Paring = Paring & "DBA_aine.teaduskond = DBA_teaduskond.kood and "
end if
if Request("suur") = "alamstringi" then
  Paring = Paring & "DBA_Tekst.nimi like '%"  & Request("nimi") & "%' "
elseif Request("suur") = "täpset nime" then
  Paring = Paring & "DBA_Tekst.nimi = '"  & Request("nimi") & "' "
else
  Paring = Paring & "DBA_Tekst.nimi = 'Täiesti vale küsimine' "
end if
if Request("selaastal") = "OK" then
  Paring = Paring & "group by DBA_Tekst.sort, DBA_Tekst.nimi, "
  if Request("tahestik") <> "OK" then
   Paring = Paring & "DBA_teaduskond.jarjestus, "
  end if
  Paring = Paring & "DBA_aine.teaduskond, " & _
   "DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr, " & _
   "DBA_aine.algoppeaasta, DBA_aine.loppoppeaasta "
end if
if Request("tahestik") = "OK" then
  Paring = Paring & "order by DBA_Tekst.sort, DBA_aine.teaduskond, " & _
   "DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr"
else
  Paring = Paring & "order by DBA_teaduskond.jarjestus, " & _
   "DBA_aine.instituut, DBA_aine.oppetool, DBA_aine.nr"
end if

'Päring andmebaasis:
Set ained = yhendus.Execute(Paring)

'Kui aineid ei leidu:
if ained.EOF then
%>

<h3>Kahjuks selliseid aineid ei leidu...</h3>
<!--#INCLUDE  file="footer.htm"-->
<%
'Päringu sulgemine:
  ained.close
'Ühenduse sulgemine:
  yhendus.close
'Skripti lõpp:
  Response.End
else
  if Request("selaastal") <> "OK" then
%>

<form action=nimi.asp method=POST>
<input type=hidden name=nimi value='<%=Request("nimi")%>'>
<input type=hidden name=suur value='<%=Request("suur")%>'>
<input type=hidden name=tahestik value=<%=Request("tahestik")%>>
<input type=hidden name=selaastal value=OK>
<input type=submit value="Jätta alles sel õppeaastal loetavad ained">
</form>
<%
  end if
end if
%>


<!-- Ained väljastatakse tabelis -->
<table border=0>
<%
'Ainete väljastus:
Do While Not ained.EOF
%>
<tr>
  <td><%=ained("teaduskond")&ained("instituut")&"."&ained("oppetool")&"."&ained("nr")%></td><%
if IsNull(ained("nimi")) then
%>
  <td><a href=aine.asp?<%=ained("teaduskond")&ained("instituut")&"."&ained("oppetool")&"."&ained("nr")%>>__</a><%
else
%>
<td><a href=aine.asp?<%=ained("teaduskond")&ained("instituut")&"."&ained("oppetool")&"."&ained("nr")%>><%=ained("nimi")%></a><%
end if
'Aine lõpetatuse kohta teate väljastus:
if Not(IsNull(ained("loppoppeaasta"))) then
    if ained("algoppeaasta") = ained("loppoppeaasta") then
     Response.Write " (&uuml;hekordne aine " & ained("algoppeaasta") & "/"
     Response.Write ained("algoppeaasta") + 1 & " &otilde;a.)"
    else
     Response.Write " (l&otilde;petatud " & ained("loppoppeaasta") & " a.)"
    end if
   end if%>
</td>
</tr>
<%
  ained.MoveNext
Loop 'tsükkel

'Päringu sulgemine:
ained.close
'Ühenduse sulgemine:
yhendus.close
%>
</table>


<!--#INCLUDE  file="footer.htm"-->