/[health_html]/inc/pgKnjiznica-lijekovi.php
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /inc/pgKnjiznica-lijekovi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (hide annotations)
Tue Sep 25 15:38:04 2001 UTC (22 years, 8 months ago) by ravilov
Branch: MAIN
Changes since 1.3: +9 -2 lines
Major changes. Too numeruous to mention all here.

1 ravilov 1.1 <?php
2 ravilov 1.4 include("inc/conn.php");
3 ravilov 1.1 include_once("inc/search.php");
4     $fields = array(
5     "atk" => array("dbname" => "lijekovi.sif_atk || lijekovi.sif_atk_ostalo", "caption" => "ATK"),
6     "inn" => array("dbname" => "generici.naziv", "caption" => "INN"),
7     "proizvodjac" => array("dbname" => "proizvodjaci.naziv", "caption" => "Proizvoðaè"),
8     "name" => array("dbname" => "lijekovi.naziv", "caption" => "Naziv"),
9     "hzzo" => array("dbname" => "lijekovi.nacin_izdavanja", "caption" => "HZZO")
10     );
11     list($srch, $qry_1, $qry_2) = Search($fields, array("inn", "proizvodjac", "name"), array("atk", "hzzo"), "name");
12     # Win1250 -> ISO8859-2
13     if ($qry_1) $qry_1 = strtr($qry_1, "ŠÐÈƎšðèæž", "©ÐÈÆ®¹ðèæ¾");
14     if ($qry_2) $qry_2 = strtr($qry_2, "ŠÐÈƎšðèæž", "©ÐÈÆ®¹ðèæ¾");
15     $tpl->assign("index", $index);
16     $tpl->assign("srch", ($qry_1 || $qry_2) ? true : false);
17     $tpl->assign("SEARCH", $srch);
18 ravilov 1.4 $recepti = array();
19     $sql = "SELECT oznaka, opis FROM recept";
20     $sth = $dbh->prepare($sql);
21     if (!$sth) error("Cannot prepare query: \"$sql\"");
22     if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
23     while ($row = $sth->fetchrow_array()) $recepti[$row[0]] = MyEscape($row[1]);
24     $sth->finish();
25 ravilov 1.1 $letters = Slova();
26     if ($index || ($qry_1 || $qry_2)) {
27     $prvo_slovo = "UPPER(SUBSTRING(lijekovi.naziv FROM 1 FOR 1))";
28     $sql = "SELECT DISTINCT lijekovi.sif_inn, $prvo_slovo AS prvo_slovo, lijekovi.naziv, proizvodjaci.naziv, generici.naziv, lijekovi.sif_atk, atc.opis FROM lijekovi, generici, proizvodjaci, atc WHERE (lijekovi.sif_proizvodjac = proizvodjaci.proiz_id) AND (lijekovi.sif_inn = generici.generik_id) AND (lijekovi.sif_atk = atc.atc_id)";
29     if ($index && $index != 1) {
30     if ($index == '@') for ($i = 0; $i < count($letters); $i++) $sql .= " AND ($prvo_slovo <> '".$letters[$i]."')";
31 ravilov 1.2 else $sql .= " AND ($prvo_slovo = '".MyUpper($index)."')";
32 ravilov 1.1 }
33     if ($qry_1) $sql .= " AND ($qry_1)";
34     $sql .= " ORDER BY prvo_slovo, lijekovi.naziv";
35     $sth = $dbh->prepare($sql);
36     if (!$sth) error("Cannot prepare query: \"$sql\"");
37     if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
38     $slova = array();
39     $lijekovi = array();
40     unset($staro_slovo);
41     while ($row = $sth->fetchrow_array()) {
42     list($inn, $fl, $naziv, $proizv, $generik, $atk, $grupa) = $row;
43 ravilov 1.2 $proizv = MyUpper($proizv);
44 ravilov 1.1 if (!isset($staro_slovo)) $staro_slovo = $fl;
45     if (!($qry_1 || $qry_2) && $staro_slovo != $fl) {
46     array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi));
47     $staro_slovo = $fl;
48     $lijekovi = array();
49     }
50     $sql = "SELECT nacin_izdavanja, pakovanje, lijekovi.sif_atk, lijekovi.sif_atk_ostalo, cijena_orig FROM lijekovi WHERE (lijekovi.sif_inn = $inn) AND (lijekovi.sif_atk = '$atk') AND (lijekovi.naziv = '$naziv')";
51     if ($qry_2) $sql .= " AND ($qry_2)";
52     $sql .= " ORDER BY pakovanje";
53     $sth2 = $dbh->prepare($sql);
54     if (!$sth2) error("Cannot prepare query: \"$sql\"");
55     if (!$sth2->execute()) error("Cannot execute query: \"$sql\"");
56     $oblici = array();
57     while ($row2 = $sth2->fetchrow_array()) {
58     list($recept, $pakovanje, $atc, $atc2, $cijena) = $row2;
59     array_push($oblici, array(
60     "hzzo" => $recept,
61 ravilov 1.4 "hzzo2" => $recepti[$recept],
62 ravilov 1.1 "pakovanje" => MyEscape($pakovanje),
63     "atk" => $atc.$atc2,
64     "cijena" => $cijena
65     ));
66     }
67     $sth2->finish();
68     if (count($oblici) <= 0) continue;
69     array_push($lijekovi, array(
70     "naziv" => MyEscape($naziv),
71     "proizvodjac" => MyEscape($proizv),
72     "inn" => MyEscape($generik),
73     "tip" => $grupa,
74     "oblici" => $oblici,
75     "notes" => ""
76     ));
77     }
78     $sth->finish();
79     if (isset($staro_slovo)) array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi));
80     $records = 0;
81     for ($i = 0; $i < count($slova); $i++) $records += count($slova[$i]["lijekovi"]);
82     $tpl->assign("records", $records);
83     $tpl->assign("slova", $slova);
84     }
85     $tpl->assign("letters", $letters);
86     $tpl->assign("stype", $stype);
87     $dbh->disconnect();
88     ?>

  ViewVC Help
Powered by ViewVC 1.1.26