· 8 years ago · Jan 20, 2018, 03:36 PM
1<!doctype html>
2<html lang="pl">
3<head>
4 <meta charset="utf-8">
5 <title>Instalacja</title>
6 <link rel="stylesheet" href="style.css">
7</head>
8<body>
9<?php
10 require 'vendor/autoload.php';
11
12 use Config\Database\DBConfig as DB;
13 use Config\Database\DBConnection as DBConnection;
14
15 DBConnection::setDBConnection(DB::$user,DB::$password,
16 DB::$hostname, DB::$databaseType, DB::$port);
17 try {
18 $pdo = DBConnection::getHandle();
19 }catch(\PDOException $e){
20 echo \Config\Database\DBErrorName::$connection;
21 exit(1);
22 }
23
24 /*
25 usunięcie starych tabel
26 */
27
28
29
30 $query = 'DROP TABLE IF EXISTS `'.DB::$tableZamowienie.'`';
31 try
32 {
33 $pdo->exec($query);
34 }
35 catch(PDOException $e)
36 {
37 echo \Config\Database\DBErrorName::$delete_table.DB::$tableZamowienie;
38 }
39
40
41 $query = 'DROP TABLE IF EXISTS `'.DB::$tablePozycja.'`';
42 try
43 {
44 $pdo->exec($query);
45 }
46 catch(PDOException $e)
47 {
48 echo \Config\Database\DBErrorName::$delete_table.DB::$tablePozycja;
49 }
50
51 $query = 'DROP TABLE IF EXISTS `'.DB::$tableProdukt.'`';
52 try
53 {
54 $pdo->exec($query);
55 }
56 catch(PDOException $e)
57 {
58 echo \Config\Database\DBErrorName::$delete_table.DB::$tableProdukt;
59 }
60
61
62 $query = 'DROP TABLE IF EXISTS `'.DB::$tableDostawca.'`';
63 try
64 {
65 $pdo->exec($query);
66 }
67 catch(PDOException $e)
68 {
69 echo \Config\Database\DBErrorName::$delete_table.DB::$tableDostawca;
70 }
71
72 $query = 'DROP TABLE IF EXISTS `'.DB::$tableKategoria.'`';
73 try
74 {
75 $pdo->exec($query);
76 }
77 catch(PDOException $e)
78 {
79 echo \Config\Database\DBErrorName::$delete_table.DB::$tableKategoria;
80 }
81
82
83
84 $query = 'CREATE TABLE IF NOT EXISTS `'.DB::$tableDostawca.'`(
85 `'.DB\Dostawca::$IDDostawca.'` INT NOT NULL AUTO_INCREMENT,
86 `'.DB\Dostawca::$DostawcaNazwa.'` VARCHAR(100) NOT NULL,
87 PRIMARY KEY (IDDostawca)) ENGINE=InnoDB;';
88 try
89 {
90 $pdo->exec($query);
91 }
92 catch(PDOException $e)
93 {
94 echo \Config\Database\DBErrorName::$create_table.DB::$tableDostawca;
95 }
96
97 $dostawcy = array();
98 $dostawcy[] = array('DostawcaNazwa' => 'Intel');
99 $dostawcy[] = array('DostawcaNazwa' => 'AMD');
100 $dostawcy[] = array('DostawcaNazwa' => 'Canon');
101
102 try
103 {
104 $stmt = $pdo -> prepare('INSERT INTO `'.DB::$tableDostawca.'` (`'.DB\Dostawca::$DostawcaNazwa.'`) VALUES(:DostawcaNazwa)');
105 foreach($dostawcy as $Dostawca)
106 {
107 $stmt -> bindValue(':DostawcaNazwa', $Dostawca['DostawcaNazwa'], PDO::PARAM_STR);
108 $stmt -> execute();
109 }
110 }
111 catch(PDOException $e)
112 {
113 echo \Config\Database\DBErrorName::$noadd;
114 }
115
116
117 $query = 'CREATE TABLE IF NOT EXISTS `'.DB::$tableKategoria.'`(
118 `'.DB\Kategoria::$IDKategoria.'` INT NOT NULL AUTO_INCREMENT,
119 `'.DB\Kategoria::$KategoriaNazwa.'` VARCHAR(100) NOT NULL,
120 PRIMARY KEY (IDKategoria)) ENGINE=InnoDB;';
121 try
122 {
123 $pdo->exec($query);
124 }
125 catch(PDOException $e)
126 {
127 echo \Config\Database\DBErrorName::$create_table.DB::$tableKategoria;
128 }
129
130 $kategorie = array();
131 $kategorie[] = array('KategoriaNazwa' => 'Procesory');
132 $kategorie[] = array('KategoriaNazwa' => 'KartyGraficzne');
133 $kategorie[] = array('KategoriaNazwa' => 'Drukarki');
134
135 try
136 {
137 $stmt = $pdo -> prepare('INSERT INTO `'.DB::$tableKategoria.'` (`'.DB\Kategoria::$KategoriaNazwa.'`) VALUES(:KategoriaNazwa)');
138 foreach($kategorie as $Kategoria)
139 {
140 $stmt -> bindValue(':KategoriaNazwa', $Kategoria['KategoriaNazwa'], PDO::PARAM_STR);
141 $stmt -> execute();
142 }
143 }
144 catch(PDOException $e)
145 {
146 echo \Config\Database\DBErrorName::$noadd;
147 }
148
149
150
151
152 $query = 'CREATE TABLE IF NOT EXISTS `'.DB::$tableProdukt.'` (
153 `'.DB\Produkt::$IDProdukt.'` INT NOT NULL AUTO_INCREMENT,
154 `'.DB\Produkt::$Nazwa.'` VARCHAR(30) NOT NULL,
155 `'.DB\Produkt::$Cena.'` INT NOT NULL,
156 `'.DB\Produkt::$Opis.'`VARCHAR(1000) NULL,
157 `'.DB\Produkt::$Lokalizacja.'` VARCHAR(50) NOT NULL,
158 `'.DB\Produkt::$IDKategoria.'` INT NOT NULL,
159 `'.DB\Produkt::$IDDostawca.'` INT NOT NULL,
160 `'.DB\Produkt::$IloscMin.'` INT NOT NULL,
161 `'.DB\Produkt::$IloscMax.'` INT NOT NULL,
162
163 PRIMARY KEY (IDProdukt),
164 FOREIGN KEY('.DB\Produkt::$IDKategoria.') REFERENCES '.DB::$tableKategoria.'('.DB\Kategoria::$IDKategoria.'),
165 FOREIGN KEY('.DB\Produkt::$IDDostawca.') REFERENCES '.DB::$tableDostawca.'('.DB\Dostawca::$IDDostawca.')
166
167
168 ON DELETE CASCADE) ENGINE=InnoDB;';
169 try
170 {
171 $pdo->exec($query);
172 }
173 catch(PDOException $e)
174 {
175 echo \Config\Database\DBErrorName::$create_table.DB::$tableProdukt;
176 }
177
178
179
180
181 $query = 'CREATE TABLE IF NOT EXISTS `'.DB::$tablePozycja.'` (
182 `'.DB\Pozycja::$IDPozycja.'` INT NOT NULL AUTO_INCREMENT,
183 `'.DB\Pozycja::$IDProdukt.'` INT NOT NULL,
184 `'.DB\Pozycja::$Ilosc.'` INT NOT NULL,
185 `'.DB\Pozycja::$CenaJednostkowa.'` DECIMAL(10,2) NOT NULL,
186 PRIMARY KEY (`'.DB\Pozycja::$IDPozycja.'`),
187 FOREIGN KEY ('.DB\Pozycja::$IDProdukt.') REFERENCES '.DB::$tableProdukt.'('.DB\Produkt::$IDProdukt.') ON DELETE CASCADE
188 ) ENGINE=InnoDB;';
189
190 try
191 {
192 $pdo->exec($query);
193 }
194 catch(PDOException $e)
195 {
196 echo \Config\Database\DBErrorName::$create_table.DB::$tablePozycja;
197 }
198
199
200 /*
201 tworzenie tabeli Zamowienie
202 */
203 $query = 'CREATE TABLE IF NOT EXISTS `'.DB::$tableZamowienie.'` (
204 `'.DB\Zamowienie::$id_zamowienie.'` INT NOT NULL AUTO_INCREMENT,
205 `'.DB\Zamowienie::$id_pozycja.'` INT NOT NULL,
206 `'.DB\Zamowienie::$cena_zamowienia.'` DECIMAL(10,2) NOT NULL,
207 `'.DB\Zamowienie::$data_zamowienia.'` DATE NOT NULL,
208 `'.DB\Zamowienie::$uwagi.'` VARCHAR(1000)NOT NULL,
209 `'.DB\Zamowienie::$data_realizacji.'` DATE NOT NULL,
210 PRIMARY KEY (`'.DB\Zamowienie::$id_zamowienie.'`),
211 FOREIGN KEY ('.DB\Zamowienie::$id_pozycja.') REFERENCES '.DB::$tablePozycja.'('.DB\Pozycja::$IDPozycja.') ON DELETE CASCADE
212 ) ENGINE=InnoDB;';
213 try
214 {
215 $pdo->exec($query);
216 }
217 catch(PDOException $e)
218 {
219 echo \Config\Database\DBErrorName::$create_table.DB::$tableZamowienie;
220 }
221
222
223
224
225
226
227
228
229
230
231
232
233
234echo "<b>Instalacja aplikacji zakończona!</b>"
235
236
237
238
239?>
240<br>
241<br>
242<a href="http://localhost/Projekt/">Dalej</a>
243</body>
244</html>