1 |
<?php |
2 |
include("inc/conn.php"); |
3 |
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" => "Generièko ime"), |
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" => "Participacija") |
10 |
); |
11 |
list($srch, $qry_1, $qry_2) = Search($fields, array("inn", "proizvodjac", "name"), array("atk", "hzzo"), |
12 |
$isMed ? "inn" : "name"); |
13 |
# Win1250 -> ISO8859-2 |
14 |
if ($qry_1) $qry_1 = strtr($qry_1, "ÐÈÆðèæ", "©ÐÈÆ®¹ðèæ¾"); |
15 |
if ($qry_2) $qry_2 = strtr($qry_2, "ÐÈÆðèæ", "©ÐÈÆ®¹ðèæ¾"); |
16 |
$tpl->assign("index", $index); |
17 |
$tpl->assign("srch", ($qry_1 || $qry_2) ? true : false); |
18 |
$tpl->assign("SEARCH", $srch); |
19 |
$recepti = array(); |
20 |
$sql = "SELECT oznaka, opis FROM recept"; |
21 |
$sth = $dbh->prepare($sql); |
22 |
if (!$sth) error("Cannot prepare query: \"$sql\""); |
23 |
if (!$sth->execute()) error("Cannot execute query: \"$sql\""); |
24 |
while ($row = $sth->fetchrow_array()) $recepti[$row[0]] = MyEscape($row[1]); |
25 |
$sth->finish(); |
26 |
if (!$isMed) $id = 0; |
27 |
if ($id) { |
28 |
$sql = "SELECT lijekovi.naziv AS lijek, proizvodjaci.naziv AS proizvodjac, generici.naziv AS generik, lijekovi.sif_atk AS sif_grupa_atk, atc.opis AS grupa_atk, lijekovi.sif_atk || ' ' || lijekovi.sif_atk_ostalo AS sif_atk, lijekovi.ddd, lijekovi.pakovanje, lijekovi.nacin_izdavanja AS participacija, nacin_primjene.opis AS nacin_primjene, lijekovi.primjena, lijekovi.cijena_ddd, lijekovi.cijena_jed, lijekovi.cijena_orig, razno, lijekovi.smpc FROM lijekovi, generici, proizvodjaci, atc, nacin_primjene WHERE (lijekovi.sif_proizvodjac = proizvodjaci.proiz_id) AND (lijekovi.sif_inn = generici.generik_id) AND (lijekovi.sif_atk = atc.atc_id) AND (lijekovi.nacin_primjene = nacin_primjene.oznaka) AND (lijekovi.lijek_id = $id)"; |
29 |
$sth = $dbh->prepare($sql); |
30 |
if (!$sth) error("Cannot prepare query: \"$sql\""); |
31 |
if (!$sth->execute()) error("Cannot execute query: \"$sql\""); |
32 |
$row = $sth->fetchrow_array(); |
33 |
$sth->finish(); |
34 |
if ($row) { |
35 |
list($lijek, $proizvodjac, $generik, $sif_grupa_atk, $grupa_atk, $sif_atk, $ddd, $pakovanje, $partic, $nacin_primjene, $primj, $cij_ddd, $cij_jed, $cij_orig, $razno, $smpc) = $row; |
36 |
$sql = "SELECT opis FROM recept WHERE (oznaka = '$partic')"; |
37 |
$sth = $dbh->prepare($sql); |
38 |
if (!$sth) error("Cannot prepare query: \"$sql\""); |
39 |
if (!$sth->execute()) error("Cannot execute query: \"$sql\""); |
40 |
$row = $sth->fetchrow_array(); |
41 |
$sth->finish(); |
42 |
if ($row) $row = array_shift($row); |
43 |
$partopis = $row; |
44 |
$sql = "SELECT opis FROM primjena WHERE (oznaka = '$primj')"; |
45 |
$sth = $dbh->prepare($sql); |
46 |
if (!$sth) error("Cannot prepare query: \"$sql\""); |
47 |
if (!$sth->execute()) error("Cannot execute query: \"$sql\""); |
48 |
$row = $sth->fetchrow_array(); |
49 |
$sth->finish(); |
50 |
if ($row) $row = array_shift($row); |
51 |
$primjena = $row; |
52 |
array_push($PATH, MyEscape($lijek)); |
53 |
$tpl->assign("lijek", MyEscape($lijek)); |
54 |
$tpl->assign("proizvodjac", MyEscape($proizvodjac)); |
55 |
$tpl->assign("generik", MyEscape($generik)); |
56 |
$tpl->assign("sif_grupa_atk", MyEscape($sif_grupa_atk)); |
57 |
$tpl->assign("grupa_atk", MyEscape($grupa_atk)); |
58 |
$tpl->assign("sif_atk", MyEscape($sif_atk)); |
59 |
$tpl->assign("ddd", MyEscape($ddd)); |
60 |
$tpl->assign("pakovanje", MyEscape($pakovanje)); |
61 |
$tpl->assign("partic", MyEscape($partic)); |
62 |
$tpl->assign("partopis", MyEscape($partopis)); |
63 |
$tpl->assign("nacin_primjene", MyEscape($nacin_primjene)); |
64 |
$tpl->assign("primjena", MyEscape($primjena)); |
65 |
$tpl->assign("cij_ddd", MyEscape($cij_ddd)); |
66 |
$tpl->assign("cij_jed", MyEscape($cij_jed)); |
67 |
$tpl->assign("cij_orig", MyEscape($cij_orig)); |
68 |
$tpl->assign("razno", ParseNewline(MyEscape($razno))); |
69 |
$tpl->assign("smpc", MyEscape($smpc)); |
70 |
} |
71 |
} else { |
72 |
$letters = Slova(); |
73 |
if ($index || ($qry_1 || $qry_2)) { |
74 |
$prvo_slovo = "UPPER(SUBSTRING(lijekovi.naziv FROM 1 FOR 1))"; |
75 |
$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)"; |
76 |
if ($index && $index != 1) { |
77 |
if ($index == '@') for ($i = 0; $i < count($letters); $i++) $sql .= " AND ($prvo_slovo <> '".$letters[$i]."')"; |
78 |
else $sql .= " AND ($prvo_slovo = '".MyUpper($index)."')"; |
79 |
} |
80 |
if ($qry_1) $sql .= " AND ($qry_1)"; |
81 |
$sql .= " ORDER BY prvo_slovo, lijekovi.naziv"; |
82 |
$sth = $dbh->prepare($sql); |
83 |
if (!$sth) error("Cannot prepare query: \"$sql\""); |
84 |
if (!$sth->execute()) error("Cannot execute query: \"$sql\""); |
85 |
$slova = array(); |
86 |
$lijekovi = array(); |
87 |
unset($staro_slovo); |
88 |
while ($row = $sth->fetchrow_array()) { |
89 |
list($inn, $fl, $naziv, $proizv, $generik, $atk, $grupa) = $row; |
90 |
$proizv = MyUpper($proizv); |
91 |
if (!isset($staro_slovo)) $staro_slovo = $fl; |
92 |
if (!($qry_1 || $qry_2) && $staro_slovo != $fl) { |
93 |
array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi)); |
94 |
$staro_slovo = $fl; |
95 |
$lijekovi = array(); |
96 |
} |
97 |
$sql = "SELECT lijekovi.lijek_id, 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')"; |
98 |
if ($qry_2) $sql .= " AND ($qry_2)"; |
99 |
$sql .= " ORDER BY pakovanje"; |
100 |
$sth2 = $dbh->prepare($sql); |
101 |
if (!$sth2) error("Cannot prepare query: \"$sql\""); |
102 |
if (!$sth2->execute()) error("Cannot execute query: \"$sql\""); |
103 |
$oblici = array(); |
104 |
while ($row2 = $sth2->fetchrow_array()) { |
105 |
list($id3, $recept, $pakovanje, $atc, $atc2, $cijena) = $row2; |
106 |
array_push($oblici, array( |
107 |
"id" => $id3, |
108 |
"hzzo" => $recept, |
109 |
"hzzo2" => $recepti[$recept], |
110 |
"pakovanje" => MyEscape($pakovanje), |
111 |
"atk" => $atc.$atc2, |
112 |
"cijena" => $cijena |
113 |
)); |
114 |
} |
115 |
$sth2->finish(); |
116 |
if (count($oblici) <= 0) continue; |
117 |
array_push($lijekovi, array( |
118 |
"naziv" => MyEscape($naziv), |
119 |
"proizvodjac" => MyEscape($proizv), |
120 |
"inn" => MyEscape($generik), |
121 |
"tip" => $grupa, |
122 |
"oblici" => $oblici, |
123 |
"notes" => "" |
124 |
)); |
125 |
} |
126 |
$sth->finish(); |
127 |
if (count($lijekovi) > 0) array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi)); |
128 |
$records = 0; |
129 |
for ($i = 0; $i < count($slova); $i++) $records += count($slova[$i]["lijekovi"]); |
130 |
$tpl->assign("records", $records); |
131 |
$tpl->assign("slova", $slova); |
132 |
} |
133 |
$tpl->assign("letters", $letters); |
134 |
} |
135 |
$tpl->assign("ID", $id); |
136 |
$tpl->assign("stype", $stype); |
137 |
$dbh->disconnect(); |
138 |
?> |