1 |
ravilov |
1.1 |
<?php |
2 |
|
|
include_once("inc/conn.php"); |
3 |
ravilov |
1.4 |
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" => "Manufacturer"), |
8 |
|
|
"name" => array("dbname" => "lijekovi.naziv", "caption" => "Name"), |
9 |
|
|
"hzzo" => array("dbname" => "lijekovi.nacin_izdavanja", "caption" => "HZZO") |
10 |
|
|
); |
11 |
|
|
list($srch, $qry, $qry_2) = Search($fields, |
12 |
|
|
array("inn", "proizvodjac", "name"), array("atk", "hzzo")); |
13 |
ravilov |
1.5 |
$tpl->assign("index", $index); |
14 |
ravilov |
1.4 |
$tpl->assign("srch", ($qry || $qry_2) ? true : false); |
15 |
|
|
$tpl->assign("SEARCH", $srch); |
16 |
|
|
if ($index || ($qry || $qry_2)) { |
17 |
ravilov |
1.5 |
$prvo_slovo = "UPPER(SUBSTRING(lijekovi.naziv FROM 1 FOR 1))"; |
18 |
|
|
$sql = "SELECT DISTINCT lijekovi.sif_inn, $prvo_slovo AS prvo_slovo, lijekovi.naziv, proizvodjaci.naziv, generici.naziv FROM lijekovi, generici, proizvodjaci WHERE (lijekovi.sif_proizvodjac = proizvodjaci.proiz_id) AND (lijekovi.sif_inn = generici.generik_id)"; |
19 |
|
|
if ($index != 1) $sql .= " AND ($prvo_slovo = '".strtoupper($index)."')"; |
20 |
ravilov |
1.2 |
if ($qry) $sql .= " AND ($qry)"; |
21 |
|
|
$sql .= " ORDER BY prvo_slovo, lijekovi.naziv"; |
22 |
|
|
$sth = $dbh->prepare($sql); |
23 |
|
|
if (!$sth) error("Cannot prepare query: \"$sql\""); |
24 |
|
|
if (!$sth->execute()) error("Cannot execute query: \"$sql\""); |
25 |
|
|
$lijekovi = array(); |
26 |
|
|
$slova = array(); |
27 |
|
|
unset($staro_slovo); |
28 |
|
|
$records = 0; |
29 |
|
|
while ($row = $sth->fetchrow_array()) { |
30 |
|
|
list($inn, $fl, $naziv, $proizv, $generik) = $row; |
31 |
|
|
$proizv = strtoupper($proizv); |
32 |
|
|
if (!isset($staro_slovo)) $staro_slovo = $fl; |
33 |
ravilov |
1.4 |
if (!($qry || $qry_2) && $staro_slovo != $fl) { |
34 |
ravilov |
1.2 |
$records += count($lijekovi); |
35 |
|
|
array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi)); |
36 |
|
|
$staro_slovo = $fl; |
37 |
|
|
$lijekovi = array(); |
38 |
|
|
} |
39 |
|
|
$sql = "SELECT nacin_izdavanja, pakovanje, lijekovi.sif_atk || lijekovi.sif_atk_ostalo, cijena_orig FROM lijekovi WHERE (lijekovi.sif_inn = $inn) AND (atc.atc_id = lijekovi.sif_atk) AND (lijekovi.naziv = '$naziv')"; |
40 |
|
|
if ($qry_2) $sql .= " AND ($qry_2)"; |
41 |
|
|
$sql .= " ORDER BY pakovanje"; |
42 |
|
|
$sth2 = $dbh->prepare($sql); |
43 |
|
|
if (!$sth2) error("Cannot prepare query: \"$sql\""); |
44 |
|
|
if (!$sth2->execute()) error("Cannot execute query: \"$sql\""); |
45 |
|
|
$oblici = array(); |
46 |
|
|
while ($row = $sth2->fetchrow_array()) { |
47 |
|
|
list($recept, $pakovanje, $atk, $cijena) = $row; |
48 |
|
|
array_push($oblici, array( |
49 |
|
|
"hzzo" => $recept, |
50 |
|
|
"pakovanje" => MyEscape($pakovanje), |
51 |
ravilov |
1.6 |
"atk" => preg_replace("/\s+/", " ", $atk), |
52 |
ravilov |
1.2 |
"cijena" => $cijena |
53 |
|
|
)); |
54 |
|
|
} |
55 |
|
|
$sth2->finish(); |
56 |
|
|
if (count($oblici) <= 0) continue; |
57 |
|
|
array_push($lijekovi, array( |
58 |
|
|
"naziv" => MyEscape($naziv), |
59 |
|
|
"proizvodjac" => MyEscape($proizv), |
60 |
|
|
"inn" => MyEscape($generik), |
61 |
|
|
"tip" => "???", |
62 |
|
|
"oblici" => $oblici, |
63 |
|
|
"notes" => "" |
64 |
|
|
)); |
65 |
|
|
} |
66 |
|
|
$sth->finish(); |
67 |
|
|
if ($staro_slovo) { |
68 |
|
|
$records += count($lijekovi); |
69 |
|
|
array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi)); |
70 |
|
|
} |
71 |
|
|
$tpl->assign("records", $records); |
72 |
|
|
$tpl->assign("slova", $slova); |
73 |
ravilov |
1.1 |
} |
74 |
ravilov |
1.5 |
$tpl->assign("letters", array("A", "B", "C", "D", "E", "F", "G", |
75 |
|
|
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", |
76 |
|
|
"T", "U", "V", "W", "X", "Y", "Z")); |
77 |
ravilov |
1.3 |
$tpl->assign("isedit", isEdit()); |
78 |
ravilov |
1.1 |
$dbh->disconnect(); |
79 |
|
|
?> |