/[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

Diff of /inc/pgKnjiznica-lijekovi.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by ravilov, Fri Sep 28 23:34:37 2001 UTC revision 1.6 by ravilov, Mon Oct 29 14:43:21 2001 UTC
# Line 23  Line 23 
23          if (!$sth->execute()) error("Cannot execute query: \"$sql\"");          if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
24          while ($row = $sth->fetchrow_array()) $recepti[$row[0]] = MyEscape($row[1]);          while ($row = $sth->fetchrow_array()) $recepti[$row[0]] = MyEscape($row[1]);
25          $sth->finish();          $sth->finish();
26          $letters = Slova();          if (!$isMed) $id = 0;
27          if ($index || ($qry_1 || $qry_2)) {          if ($id) {
28                  $prvo_slovo = "UPPER(SUBSTRING(lijekovi.naziv FROM 1 FOR 1))";                  $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)";
                 $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)";  
                 if ($index && $index != 1) {  
                         if ($index == '@') for ($i = 0; $i < count($letters); $i++) $sql .= " AND ($prvo_slovo <> '".$letters[$i]."')";  
                                 else $sql .= " AND ($prvo_slovo = '".MyUpper($index)."')";  
                 }  
                 if ($qry_1) $sql .= " AND ($qry_1)";  
                 $sql .= " ORDER BY prvo_slovo, lijekovi.naziv";  
29                  $sth = $dbh->prepare($sql);                  $sth = $dbh->prepare($sql);
30                  if (!$sth) error("Cannot prepare query: \"$sql\"");                  if (!$sth) error("Cannot prepare query: \"$sql\"");
31                  if (!$sth->execute()) error("Cannot execute query: \"$sql\"");                  if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
32                  $slova = array();                  $row = $sth->fetchrow_array();
33                  $lijekovi = array();                  $sth->finish();
34                  unset($staro_slovo);                  if ($row) {
35                  while ($row = $sth->fetchrow_array()) {                          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                          list($inn, $fl, $naziv, $proizv, $generik, $atk, $grupa) = $row;                          $sql = "SELECT opis FROM recept WHERE (oznaka = '$partic')";
37                          $proizv = MyUpper($proizv);                          $sth = $dbh->prepare($sql);
38                          if (!isset($staro_slovo)) $staro_slovo = $fl;                          if (!$sth) error("Cannot prepare query: \"$sql\"");
39                          if (!($qry_1 || $qry_2) && $staro_slovo != $fl) {                          if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
40                                  array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi));                          $row = $sth->fetchrow_array();
41                                  $staro_slovo = $fl;                          $sth->finish();
42                                  $lijekovi = array();                          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                          $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')";                          if ($qry_1) $sql .= " AND ($qry_1)";
81                          if ($qry_2) $sql .= " AND ($qry_2)";                          $sql .= " ORDER BY prvo_slovo, lijekovi.naziv";
82                          $sql .= " ORDER BY pakovanje";                          $sth = $dbh->prepare($sql);
83                          $sth2 = $dbh->prepare($sql);                          if (!$sth) error("Cannot prepare query: \"$sql\"");
84                          if (!$sth2) error("Cannot prepare query: \"$sql\"");                          if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
85                          if (!$sth2->execute()) error("Cannot execute query: \"$sql\"");                          $slova = array();
86                          $oblici = array();                          $lijekovi = array();
87                          while ($row2 = $sth2->fetchrow_array()) {                          unset($staro_slovo);
88                                  list($recept, $pakovanje, $atc, $atc2, $cijena) = $row2;                          while ($row = $sth->fetchrow_array()) {
89                                  array_push($oblici, array(                                  list($inn, $fl, $naziv, $proizv, $generik, $atk, $grupa) = $row;
90                                          "hzzo" => $recept,                                  $proizv = MyUpper($proizv);
91                                          "hzzo2" => $recepti[$recept],                                  if (!isset($staro_slovo)) $staro_slovo = $fl;
92                                          "pakovanje" => MyEscape($pakovanje),                                  if (!($qry_1 || $qry_2) && $staro_slovo != $fl) {
93                                          "atk" => $atc.$atc2,                                          array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi));
94                                          "cijena" => $cijena                                          $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                          $sth2->finish();                          $sth->finish();
127                          if (count($oblici) <= 0) continue;                          if (count($lijekovi) > 0) array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi));
128                          array_push($lijekovi, array(                          $records = 0;
129                                  "naziv" => MyEscape($naziv),                          for ($i = 0; $i < count($slova); $i++) $records += count($slova[$i]["lijekovi"]);
130                                  "proizvodjac" => MyEscape($proizv),                          $tpl->assign("records", $records);
131                                  "inn" => MyEscape($generik),                          $tpl->assign("slova", $slova);
                                 "tip" => $grupa,  
                                 "oblici" => $oblici,  
                                 "notes" => ""  
                         ));  
132                  }                  }
133                  $sth->finish();                  $tpl->assign("letters", $letters);
                 if (count($lijekovi) > 0) array_push($slova, array("l" => $staro_slovo, "lijekovi" => $lijekovi));  
                 $records = 0;  
                 for ($i = 0; $i < count($slova); $i++) $records += count($slova[$i]["lijekovi"]);  
                 $tpl->assign("records", $records);  
                 $tpl->assign("slova", $slova);  
134          }          }
135          $tpl->assign("letters", $letters);          $tpl->assign("ID", $id);
136          $tpl->assign("stype", $stype);          $tpl->assign("stype", $stype);
137          $dbh->disconnect();          $dbh->disconnect();
138  ?>  ?>

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.26