--- inc/pgKnjiznica-leksikon.php 2001/08/30 16:35:36 1.1 +++ inc/pgKnjiznica-leksikon.php 2001/09/03 15:52:16 1.2 @@ -1,3 +1,66 @@ array("dbname" => "pojam", "caption" => "Pojam"), + "opis" => array("dbname" => "opis", "caption" => "Opis") + ); + list($srch, $qry_1, $qry_2) = Search($fields, array("pojam", "opis"), array(), "pojam"); + # Win1250 -> ISO8859-2 + if ($qry_1) $qry_1 = strtr($qry_1, "ŠÐÈÆŽšðèæž", "©ÐÈÆ®¹ðèæ¾"); + if ($qry_2) $qry_2 = strtr($qry_2, "ŠÐÈÆŽšðèæž", "©ÐÈÆ®¹ðèæ¾"); + $tpl->assign("index", $index); + $tpl->assign("srch", ($qry_1 || $qry_2) ? true : false); + $tpl->assign("SEARCH", $srch); + $letters = Slova(); + if (!$id && ($index || ($qry_1 || $qry_2))) { + $prvo_slovo = "UPPER(SUBSTRING(pojam FROM 1 FOR 1))"; + $sql = "SELECT leks_id, $prvo_slovo AS prvo_slovo, pojam FROM leksikon"; + $uvjet = array(); + if ($index && $index != 1) { + if ($index == '@') for ($i = 0; $i < count($letters); $i++) array_push($uvjet, "($prvo_slovo <> '".$letters[$i]."')"); + else array_push($uvjet, "($prvo_slovo = '".MyUpper($index)."')"); + } + if ($qry_1) array_push($uvjet, "($qry_1)"); + $uvjet = implode(" AND ", $uvjet); + if ($uvjet) $sql .= " WHERE $uvjet"; + $sql .= " ORDER BY prvo_slovo, pojam"; + $sth = $dbh->prepare($sql); + if (!$sth) error("Cannot prepare query: \"$sql\""); + if (!$sth->execute()) error("Cannot execute query: \"$sql\""); + $slova = array(); + $pojmovi = array(); + unset($staro_slovo); + while ($row = $sth->fetchrow_array()) { + list($id2, $fl, $pojam) = $row; + if (!isset($staro_slovo)) $staro_slovo = $fl; + if (!($qry_1 || $qry_2) && $staro_slovo != $fl) { + array_push($slova, array("l" => $staro_slovo, "pojmovi" => $pojmovi)); + $staro_slovo = $fl; + $pojmovi = array(); + } + array_push($pojmovi, array("id" => $id2, "pojam" => MyEscape($pojam))); + } + $sth->finish(); + if (isset($staro_slovo)) array_push($slova, array("l" => $staro_slovo, "pojmovi" => $pojmovi)); + $records = 0; + for ($i = 0; $i < count($slova); $i++) $records += count($slova[$i]["ustanove"]); + $tpl->assign("records", $records); + $tpl->assign("slova", $slova); + $tpl->assign("stype", $stype); + } + if ($id) { + $sql = "SELECT pojam, opis FROM leksikon WHERE (leks_id = $id)"; + $sth = $dbh->prepare($sql); + if (!$sth) error("Cannot prepare query: \"$sql\""); + if (!$sth->execute()) error("Cannot execute query: \"$sql\""); + $row = $sth->fetchrow_array(); + $sth->finish(); + list($pojam, $opis) = $row; + $tpl->assign("pojam", MyEscape($pojam)); + $tpl->assign("opis", MyEscape($opis)); + } + $tpl->assign("letters", $letters); + $tpl->assign("ID", $id); + $dbh->disconnect(); ?>