<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Kasutliidesed_lab_2_otsingu_cgi</id>
	<title>Kasutliidesed lab 2 otsingu cgi - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Kasutliidesed_lab_2_otsingu_cgi"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutliidesed_lab_2_otsingu_cgi&amp;action=history"/>
	<updated>2026-10-29T00:57:33Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutliidesed_lab_2_otsingu_cgi&amp;diff=8004&amp;oldid=prev</id>
		<title>Tammet – 2. aprill 2007, kell 16:46</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutliidesed_lab_2_otsingu_cgi&amp;diff=8004&amp;oldid=prev"/>
		<updated>2007-04-02T16:46:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 2. aprill 2007, kell 18:46&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l86&quot;&gt;86. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;86. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#print query&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#print query&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;con = sqlite.connect(&#039;/var/www/cgi-bin/tammet/materjalid.db&#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#&lt;/ins&gt;con = sqlite.connect(&#039;/var/www/cgi-bin&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/tammet/materjalid.db&#039;)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;con = sqlite.connect(&#039;/tmp&lt;/ins&gt;/tammet/materjalid.db&#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#con = sqlite.connect(&amp;#039;materjalid.db&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#con = sqlite.connect(&amp;#039;materjalid.db&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cur = con.cursor()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;cur = con.cursor()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key lambdadb:diff:1.41:old-1574:rev-8004:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Tammet</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Kasutliidesed_lab_2_otsingu_cgi&amp;diff=1574&amp;oldid=prev</id>
		<title>Tammet – 26. märts 2007, kell 22:54</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Kasutliidesed_lab_2_otsingu_cgi&amp;diff=1574&amp;oldid=prev"/>
		<updated>2007-03-26T22:54:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
import cgi&lt;br /&gt;
import sqlite&lt;br /&gt;
#from pysqlite2 import dbapi2 as sqlite&lt;br /&gt;
&lt;br /&gt;
# ---- abifunktsioonid ----&lt;br /&gt;
&lt;br /&gt;
def formatdata(data,format):&lt;br /&gt;
  if format==&amp;#039;xml&amp;#039;:&lt;br /&gt;
    return xmlstr(data)&lt;br /&gt;
  else:&lt;br /&gt;
    return jsonstr(data)    &lt;br /&gt;
&lt;br /&gt;
def jsonstr(data):&lt;br /&gt;
  if data:&lt;br /&gt;
    return &amp;quot;&amp;#039;&amp;quot;+str(data)+&amp;quot;&amp;#039;&amp;quot;&lt;br /&gt;
  else:&lt;br /&gt;
    return &amp;quot;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
def xmlstr(data):  &lt;br /&gt;
  if data and data!=&amp;#039;&amp;#039;:&lt;br /&gt;
    data=str(data)&lt;br /&gt;
    data=data.replace(&amp;#039;&amp;lt;&amp;#039;,&amp;#039;&amp;amp;lt;&amp;#039;)&lt;br /&gt;
    data=data.replace(&amp;#039;&amp;gt;&amp;#039;,&amp;#039;&amp;amp;gt;&amp;#039;)&lt;br /&gt;
    data=data.replace(&amp;#039;&amp;amp;&amp;#039;,&amp;#039;&amp;amp;amp;&amp;#039;)    &lt;br /&gt;
    return &amp;quot;&amp;lt;data&amp;gt;&amp;quot;+data+&amp;quot;&amp;lt;/data&amp;gt;&amp;quot;&lt;br /&gt;
  else:&lt;br /&gt;
    return &amp;quot;&amp;lt;data/&amp;gt;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
# --- formaat ja content-type ---&lt;br /&gt;
&lt;br /&gt;
form = cgi.FieldStorage()&lt;br /&gt;
format=&amp;#039;json&amp;#039;&lt;br /&gt;
#format=&amp;#039;xml&amp;#039;&lt;br /&gt;
if form.has_key(&amp;#039;format&amp;#039;):&lt;br /&gt;
  format=form[&amp;quot;format&amp;quot;].value&lt;br /&gt;
if format==&amp;#039;xml&amp;#039;:&lt;br /&gt;
  print &amp;#039;Content-type: text/xml&amp;#039;&lt;br /&gt;
else:&lt;br /&gt;
  print &amp;#039;Content-type: text/plain&amp;#039;  &lt;br /&gt;
print  &lt;br /&gt;
&lt;br /&gt;
# -- sql select lause moodustamine ---&lt;br /&gt;
&lt;br /&gt;
query=&amp;quot;&amp;quot;&amp;quot;select id,laadija,ylikool,teaduskond,ainekood,&lt;br /&gt;
                ainenimetus,oppejounimi,materjalikeel,&lt;br /&gt;
                materjalityyp,materjalinimi,lyhikirjeldus&lt;br /&gt;
         from materjalid where 1=1  &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
         &lt;br /&gt;
# --- otsivaljad ----        &lt;br /&gt;
if form.has_key(&amp;#039;laadija&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and laadija=&amp;#039;&amp;quot;+form[&amp;quot;laadija&amp;quot;].value+&amp;quot;&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;ylikool&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and ylikool=&amp;#039;&amp;quot;+form[&amp;quot;ylikool&amp;quot;].value+&amp;quot;&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;teaduskond&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and teaduskond=&amp;#039;&amp;quot;+form[&amp;quot;teaduskond&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;oppejounimi&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and oppejounimi=&amp;#039;%&amp;quot;+form[&amp;quot;oppejounimi&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;ainekood&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and ainekood=&amp;#039;&amp;quot;+form[&amp;quot;ainekood&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;ainenimetus&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and ainenimetus=&amp;#039;&amp;quot;+form[&amp;quot;ainenimetus&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;oppejounimi&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and oppejounimi=&amp;#039;&amp;quot;+form[&amp;quot;oppejounimi&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;materjalikeel&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and materjalikeel=&amp;#039;&amp;quot;+form[&amp;quot;materjalikeel&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;materjalityyp&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and materjalityyp=&amp;#039;&amp;quot;+form[&amp;quot;materjalityyp&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;materjalinimi&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and materjalinimi=&amp;#039;&amp;quot;+form[&amp;quot;materjalinimi&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;lyhikirjeldus&amp;#039;):&lt;br /&gt;
  query=query+&amp;quot; and =lyhikirjeldus&amp;#039;&amp;quot;+form[&amp;quot;lyhikirjeldus&amp;quot;].value+&amp;quot;%&amp;#039; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
# -- sorteerimine ---&lt;br /&gt;
&lt;br /&gt;
order=&amp;quot;id&amp;quot;&lt;br /&gt;
direction=&amp;quot;desc&amp;quot;&lt;br /&gt;
if form.has_key(&amp;#039;order&amp;#039;): &lt;br /&gt;
  order=form[&amp;quot;order&amp;quot;].value&lt;br /&gt;
if form.has_key(&amp;#039;direction&amp;#039;): &lt;br /&gt;
  direction=form[&amp;quot;direction&amp;quot;].value      &lt;br /&gt;
query=query+&amp;quot; order by &amp;quot;+order+&amp;quot; &amp;quot;+direction&lt;br /&gt;
&lt;br /&gt;
# -- otsingu tegemine --&lt;br /&gt;
&lt;br /&gt;
#print query&lt;br /&gt;
con = sqlite.connect(&amp;#039;/var/www/cgi-bin/tammet/materjalid.db&amp;#039;)&lt;br /&gt;
#con = sqlite.connect(&amp;#039;materjalid.db&amp;#039;)&lt;br /&gt;
cur = con.cursor()&lt;br /&gt;
cur.execute(query)&lt;br /&gt;
&lt;br /&gt;
# --- otsingutulemuste votmine ---&lt;br /&gt;
&lt;br /&gt;
fromrow=0&lt;br /&gt;
getrows=100&lt;br /&gt;
if form.has_key(&amp;#039;fromrow&amp;#039;):&lt;br /&gt;
  fromrow=int(form[&amp;quot;fromrow&amp;quot;].value)&lt;br /&gt;
if form.has_key(&amp;#039;getrows&amp;#039;):&lt;br /&gt;
  getrows=int(form[&amp;quot;getrows&amp;quot;].value)  &lt;br /&gt;
&lt;br /&gt;
res=[]&lt;br /&gt;
i=0&lt;br /&gt;
j=0&lt;br /&gt;
cnt=0&lt;br /&gt;
while 1:&lt;br /&gt;
  row=cur.fetchone()&lt;br /&gt;
  if not row:&lt;br /&gt;
    break&lt;br /&gt;
  i=i+1&lt;br /&gt;
  if i&amp;gt;fromrow:&lt;br /&gt;
    cnt=cnt+1&lt;br /&gt;
    if cnt&amp;gt;getrows:&lt;br /&gt;
      break&lt;br /&gt;
    res=res+[row]  &lt;br /&gt;
&lt;br /&gt;
# --- otsingutulemuste vormistamine ----&lt;br /&gt;
&lt;br /&gt;
l=len(res)&lt;br /&gt;
i=0&lt;br /&gt;
if format==&amp;#039;xml&amp;#039;:&lt;br /&gt;
  print &amp;quot;&amp;lt;materjalid&amp;gt;&amp;quot; &lt;br /&gt;
else:&lt;br /&gt;
  print &amp;quot;[&amp;quot;  &lt;br /&gt;
for row in res:&lt;br /&gt;
  if format==&amp;#039;xml&amp;#039;:&lt;br /&gt;
    print &amp;quot;&amp;lt;row&amp;gt;&amp;quot; &lt;br /&gt;
  else:&lt;br /&gt;
    print &amp;quot;[&amp;quot;,&lt;br /&gt;
  for data in row[0:-1]:&lt;br /&gt;
      print formatdata(data,format),&lt;br /&gt;
      if format!=&amp;#039;xml&amp;#039;:&lt;br /&gt;
        print &amp;quot;,&amp;quot;,&lt;br /&gt;
  print formatdata(row[-1],format),                &lt;br /&gt;
  if format==&amp;#039;xml&amp;#039;:&lt;br /&gt;
    print&lt;br /&gt;
    print &amp;quot;&amp;lt;/row&amp;gt;&amp;quot; &lt;br /&gt;
  else:&lt;br /&gt;
    print &amp;quot;]&amp;quot;,  &lt;br /&gt;
  if format!=&amp;#039;xml&amp;#039; and i&amp;lt;l-1:&lt;br /&gt;
      print &amp;quot;,&amp;quot;&lt;br /&gt;
  i=i+1&lt;br /&gt;
if format==&amp;#039;xml&amp;#039;:&lt;br /&gt;
  print &amp;quot;&amp;lt;/materjalid&amp;gt;&amp;quot; &lt;br /&gt;
else:&lt;br /&gt;
  print&lt;br /&gt;
  print &amp;quot;]&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tammet</name></author>
	</entry>
</feed>