1 |
6daefa8c
|
Petr Lukašík
|
<?
|
2 |
|
|
Header("Pragma: no-cache");
|
3 |
|
|
Header("Cache-Control: no-cache");
|
4 |
|
|
Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT");
|
5 |
|
|
?>
|
6 |
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
7 |
|
|
|
8 |
|
|
<html>
|
9 |
|
|
<head>
|
10 |
|
|
<title>Update tabulky DICTREFER</title>
|
11 |
|
|
</head>
|
12 |
|
|
|
13 |
|
|
<body bgcolor="Silver">
|
14 |
|
|
<CENTER><H2>Update tabulky DICTREFER</H2></CENTER>
|
15 |
|
|
|
16 |
|
|
<?
|
17 |
|
|
|
18 |
|
|
function vrat_slovo()
|
19 |
|
|
{
|
20 |
|
|
|
21 |
|
|
static $Zacatek="<";
|
22 |
|
|
static $Konec="#";
|
23 |
|
|
global $radek;
|
24 |
|
|
global $slovo;
|
25 |
|
|
static $i=0;
|
26 |
|
|
|
27 |
|
|
$pom1="";
|
28 |
|
|
$slovo="";
|
29 |
|
|
|
30 |
|
|
for($i;$i<=strlen($radek);$i++):
|
31 |
|
|
if (($radek[$i]==" ")||($i==strlen($radek)))
|
32 |
|
|
{
|
33 |
|
|
if (strlen($slovo)<(strlen($Zacatek))+(strlen($Konec)+1))
|
34 |
|
|
{
|
35 |
|
|
$slovo="";
|
36 |
|
|
continue;
|
37 |
|
|
}
|
38 |
|
|
|
39 |
|
|
for($p=0;$p<strlen($Zacatek);$p++)
|
40 |
|
|
{
|
41 |
|
|
if ($Zacatek[$p]!=$slovo[$p]) {$slovo="";break;}
|
42 |
|
|
}
|
43 |
|
|
|
44 |
|
|
if ($slovo=="") continue;
|
45 |
|
|
|
46 |
|
|
for($p=(strlen($slovo)-strlen($Konec)),$q=0;$p<strlen($slovo);$p++,$q++)
|
47 |
|
|
{
|
48 |
|
|
if ($Konec[$q]!=$slovo[$p]) {$slovo="";break;}
|
49 |
|
|
}
|
50 |
|
|
if ($slovo=="") continue;
|
51 |
|
|
|
52 |
|
|
$pom1=$slovo;
|
53 |
|
|
$slovo="";
|
54 |
|
|
for($p=strlen($Zacatek);$p<(strlen($pom1)-(strlen($Konec)));$p++)
|
55 |
|
|
if (($pom1[$p]!='[')&&($pom1[$p]!=']')&&($pom1[$p]!='?')&&($pom1[$p]!='?'))
|
56 |
|
|
{ $slovo.=$pom1[$p];}
|
57 |
|
|
$i++;
|
58 |
|
|
|
59 |
|
|
return(1);
|
60 |
|
|
}
|
61 |
|
|
else $slovo.=$radek[$i];
|
62 |
|
|
|
63 |
|
|
endfor;
|
64 |
|
|
|
65 |
|
|
return(0);
|
66 |
|
|
|
67 |
|
|
}
|
68 |
|
|
|
69 |
|
|
static $slovo="";
|
70 |
|
|
static $radek="";
|
71 |
|
|
static $pocitadlo_novych_radku=0;
|
72 |
|
|
|
73 |
|
|
@$spojeni = Pg_Connect("user=dbowner dbname=klinopis");
|
74 |
|
|
if (!$spojeni):
|
75 |
|
|
echo "Nepodarilo se pripojit k PostgreSQL.<BR>\n";
|
76 |
|
|
die ("</body></html>");
|
77 |
|
|
endif;
|
78 |
|
|
|
79 |
|
|
@$vysledek1 = Pg_Exec($spojeni, "SELECT item,text1 FROM obdict WHERE zmena = 1 order by item");
|
80 |
|
|
if (!$vysledek1):
|
81 |
|
|
echo "Doslo k chybe pri zpracovani dotazu v tabulce OBDICT.<BR>\n";
|
82 |
|
|
die ("</body></html>");
|
83 |
|
|
endif;
|
84 |
|
|
echo "<b>V tabulce OBDICT bylo zmeneno <FONT color=\"Green\">".Pg_NumRows($vysledek1)." </FONT>radek/radku.</b> <BR>\n";
|
85 |
|
|
|
86 |
|
|
if (Pg_NumRows($vysledek1)==0):
|
87 |
|
|
echo "<b>Neni treba updatovat zadne tabulky.<BR>\n</b>";
|
88 |
|
|
die ("</body></html>");
|
89 |
|
|
endif;
|
90 |
|
|
|
91 |
|
|
for ($m=0; $m < Pg_NumRows($vysledek1); $m++):
|
92 |
|
|
$zaznam1 = Pg_Fetch_Array($vysledek1, $m);
|
93 |
|
|
$radek = $zaznam1["text1"];
|
94 |
|
|
echo "<br><b>Zpracovavam radek: </b>".$radek."<BR>";
|
95 |
|
|
while(vrat_slovo()):
|
96 |
|
|
@$vysledek2 = Pg_Exec($spojeni, "SELECT item1,refer1 FROM dictrefer WHERE refer1 = '$slovo' AND item1 = '$zaznam1[item]' ");
|
97 |
|
|
if (!$vysledek2)
|
98 |
|
|
{
|
99 |
|
|
echo "Doslo k chybe pri zpracovani dotazu v tabulce dictrefer.<BR>\n";
|
100 |
|
|
die ("</body></html>");
|
101 |
|
|
|
102 |
|
|
}
|
103 |
|
|
|
104 |
|
|
elseif (Pg_NumRows($vysledek2)==0)
|
105 |
|
|
{
|
106 |
|
|
//slovicko nenalezeno v OBDICT
|
107 |
|
|
$item1_pom=$zaznam1["item"];
|
108 |
|
|
$vysledek3 = Pg_Exec($spojeni,"INSERT INTO dictrefer(item1,refer1) VALUES ('$item1_pom','$slovo')" );
|
109 |
|
|
if (!$vysledek3)
|
110 |
|
|
{
|
111 |
|
|
echo "Doslo k chybe pri insertu slovicka do tabulky DICTREFER.<BR>\n";
|
112 |
|
|
echo "\nINSERT INTO dictrefer(item1,refer1) VALUES ('".$zaznam1["item"]."','".$slovo."')\n<HR>";
|
113 |
|
|
die ("</body></html>");
|
114 |
|
|
}
|
115 |
|
|
else {
|
116 |
|
|
echo "\n<HR><BR><FONT color=\"green\"><b>Nova radka v tabulce DICTREFER ulozena!!! </b></font><br>";
|
117 |
|
|
echo "\nINSERT INTO dictrefer(item1,refer1) VALUES ('".$zaznam1["item"]."','".$slovo."')\n<HR>";
|
118 |
|
|
$pocitadlo_novych_radku++;
|
119 |
|
|
}
|
120 |
|
|
}
|
121 |
|
|
else { //slovicko nalezeno
|
122 |
|
|
echo "\n<HR><BR><FONT color=\"red\"><b>Zaznam jiz nalezen!!</b></font><BR> ";
|
123 |
|
|
echo "refer1 = '".$slovo."' & item1 = '".$zaznam1["item"]."'";
|
124 |
|
|
echo "\n<HR>";
|
125 |
|
|
continue;
|
126 |
|
|
}
|
127 |
|
|
endwhile;
|
128 |
|
|
|
129 |
|
|
$item_pom=$zaznam1["item"];
|
130 |
|
|
$text1_pom=$zaznam1["text1"];
|
131 |
|
|
@$vysledek4 = Pg_Exec($spojeni,"UPDATE obdict SET zmena = '0' WHERE ((item='$item_pom') AND (text1='$text1_pom'))");
|
132 |
|
|
if (!$vysledek4)
|
133 |
|
|
{
|
134 |
|
|
echo "Doslo k chybe pri updatu polozky zmena v tabulce OBDICT.<BR>\n";
|
135 |
|
|
die ("</body></html>");
|
136 |
|
|
}
|
137 |
|
|
else echo "<HR><B> <FONT color=\"green\"> Zmena 1 -> 0 - uspesne ulozeno!!!</b></font>";
|
138 |
|
|
|
139 |
|
|
|
140 |
|
|
endfor;
|
141 |
|
|
echo "\n<BR><HR><b>Do tabulky DICTREFER bylo ulozeno <FONT color=\"green\">".$pocitadlo_novych_radku."</font> novych radek/radku.</b>";
|
142 |
|
|
|
143 |
|
|
?>
|
144 |
|
|
</body>
|
145 |
|
|
</html> |