· 6 years ago · Apr 15, 2019, 01:54 PM
1ispis svih autora i svih knjiga u formatu autor<br><tab>knjiga1<br><tab>knjiga2 .. autor<br><tab>knjiga1<br><tab>knjiga2...
2
3<?php
4
5$c = new mysqli("localhost", "root", "", "k1_lmatuzic");
6
7
8// upit 1 = selekcija svih podataka iz tablice "autori" da bi im mogli pristupit
9
10$upit1 = "SELECT * FROM autori";
11$r = $c->query($upit1);
12
13while($row = mysqli_fetch_assoc($r))
14 {
15 echo '<table>';
16
17 // ispis svih autora
18 echo '<tr><td>'.$row['ime'].' '.$row['prezime'].'</td> <br> </tr>';
19
20 // spajanje id-eva iz tablica "autori knjiga" i "autori" (agregacija)
21 $upit2 = 'SELECT * FROM autori_knjiga WHERE id_autora="'.$row['id_autora'].'"';
22 $d = $c->query($upit2);
23
24 while($row2 = mysqli_fetch_assoc ($d))
25 {
26 // spajanje id_knjige iz agregacije i id_knjige iz tablice "knjige"
27 //
28 $upit3 = "SELECT * FROM knjige WHERE id_knjige='".$row2['id_knjige']."'";
29 $m = $c->query($upit3);
30
31 while($row3 = mysqli_fetch_assoc ($m))
32 {
33 echo '<tr><td> </td><td>'.$row3['naslov'].'</td></tr>';
34 }
35 }
36
37 echo '</table>';
38}
39?>
40
41
42
43prikazuje se ispis svih knjiga i pored svake link izbrisi. klikom na link ispisuje se naslov knjige i pitanje JESTE LI SIGURNI i linkovi DA i NE. ako korisnik klikne da, redak se brise iz baze, a ako klikne ne onda se vrati na popis knjiga, sve u jednoj datoteci
44
45<?php
46
47
48$c = new mysqli("localhost", "root", "", "k1_lmatuzic");
49
50
51if (!isset($_GET['a']))
52 {
53 $a = '';
54 }
55
56
57else
58 {
59 $a = $_GET['a'];
60 }
61
62
63switch ($a)
64{
65 case 'delete':
66 brisi();
67 break;
68
69 case 'potvrda':
70 potvrdi_brisanje();
71 break;
72
73 default:
74 ispis_svih_knjiga();
75 break;
76}
77
78
79
80function ispis_svih_knjiga()
81{
82 global $c;
83
84 $sql = "SELECT * FROM knjige";
85 $r = $c->query($sql);
86
87 echo '<table width="30%" border="1" cellspacing="0" cellpadding="3">';
88 echo '<th colspan="2">Knjige</th>';
89
90 while($row = mysqli_fetch_assoc($r))
91 {
92 echo '<tr>';
93 echo '<td>Naslov: '.$row['naslov'].' <br> Broj stranica: '.$row['br_stranica'].'</td>';
94 echo '<td><a href=?a=potvrda&id='.$row['id_knjige'].'>Izbrisi</a></td>';
95 echo '</tr>';
96 }
97 echo '</table>';
98}
99
100function potvrdi_brisanje()
101{
102 global $c;
103
104 $id_knjige = $_GET['id'];
105 $sql = "SELECT * FROM knjige WHERE id_knjige=$id_knjige";
106 $r = $c->query($sql);
107 $row = $r->fetch_assoc();
108 echo '<p>Izabrali ste knjigu: </p>'.$row['naslov'];
109
110 // "da" vodi na brisanje, "ne" vodi na ispis
111 echo '<br> <p> Brisanje knjige '.$row['naslov']. ' </p> Jeste li sigurni ? <a href=?a=delete&id='.$id_knjige.'>DA</a> <a href=?a=default>NE</a>';
112
113}
114
115
116function brisi()
117{
118 global $c;
119
120 $id_knjige = $_GET['id'];
121
122 // briše redak iz tablice "autori_knjiga"
123 $sql2 = "DELETE FROM autori_knjiga WHERE id_knjige=$id_knjige";
124 $c->query($sql2);
125
126 // briše redak iz tablice "knjige"
127 $sql = "DELETE FROM knjige WHERE id_knjige=$id_knjige";
128 $c->query($sql);
129
130
131 header('Location: ?a=default');
132}
133
134?>
135
136
137
138obrazac za unos knjige, nakon slanja obrasca upisati knjigu u bazu i prikazati obrazac koji prikazuje sve autore iz baze i checkbox pored svakog autora. korisnik odabere autore knjige i salje obrazac. nakon slanja obrasca se upisuju u autori_knjiga
139
140<?php
141
142
143if (!isset($_GET['a']))
144 {
145 $a = '';
146 }
147
148 else
149 {
150 $a = $_GET['a'];
151 }
152
153$c = new mysqli("localhost", "root", "", "k1_lmatuzic");
154
155
156switch ($a)
157{
158 case 'ispis':
159 ispis_autora();
160 break;
161
162 default :
163 pregled();
164}
165
166function pregled()
167{
168 global $c;
169
170 if (!$_POST)
171 {
172 echo '
173 <form id="form1" name="form1" method="post" action="">
174
175 <fieldset>
176 <legend>Unos knjiga</legend>
177 <p>Naslov knjige:
178 <label>
179 <input name="naslov" type="text" id="naslov" />
180 </label>
181 </p>
182
183 <p>Broj stranica:
184 <input name="br_stranica" type="number" id="br_stranica" />
185 </p>
186
187 <label>
188 <input type="submit" name="button" id="button" value="Submit" />
189 </label>
190 </p>
191 </fieldset>
192
193 </form>';
194 }
195
196 else
197 {
198 $naslov = $_POST['naslov'];
199 $br_stranica = $_POST['br_stranica'];
200 $sql = "INSERT INTO knjige (naslov, br_stranica) VALUES ('$naslov', '$br_stranica')";
201 $c->query($sql);
202
203 // DOHVAĆA ID OD ZADNJEG UNOSA AKO JE PRIMARNI KLJUČ STAVLJEN KAO "AUTO_INCREMENT"
204 $last_id = $c->insert_id;
205
206 // AUTOMATSKI GA Å ALJE NA FUNKCIJU ISPIS_AUTORA() BEZ LINKA UZ ID_KNJIGE
207 header('Location: ?a=ispis&id='.$last_id.'');
208 }
209}
210
211function ispis_autora()
212{
213 global $c;
214
215 if (!$_POST)
216 {
217 $id_knjige = $_GET['id'];
218 $sql1 = 'SELECT * FROM autori';
219 $r = $c->query($sql1);
220
221 // tablica = obrazac za unos autora
222 echo '<form method="post" action="">';
223 echo '<table width="10%" border="2" cellspacing="0" cellpadding="4">';
224
225 echo '<th>Autori</th>';
226 while($row = mysqli_fetch_assoc($r))
227 {
228 echo '<tr>';
229 echo '<td>'.$row['id_autora'].' '.$row['ime'].' '.$row['prezime'].' <input type=checkbox name=autor value='.$row['id_autora'].'</td>';
230 echo '<tr>';
231 }
232 echo '</table>';
233
234
235 echo '<br>';
236 echo '<input type="hidden" name="id_knjige" value="'.$id_knjige.'">';
237 echo '<td><input type="submit" name="submit" value="Spremi"></td>';
238 echo '</form>';
239 echo '<br>';
240 }
241
242
243
244 else
245 {
246 $id_autora = $_POST['autor'];
247 $id_knjige = $_POST['id_knjige'];
248 $sql = "INSERT INTO autori_knjiga (id_knjige, id_autora) VALUES ('$id_knjige', '$id_autora')";
249 $c->query($sql);
250 echo '<a href=?a=pregled>Zelit eli unijeti jos knjiga?</a>';
251 }
252}
253
254?>
255
256
257
258BAZA
259CREATE TABLE IF NOT EXISTS `autori` (
260 `id_autora` int(50) unsigned NOT NULL AUTO_INCREMENT,
261 `ime` varchar(30) NOT NULL,
262 `prezime` varchar(30) NOT NULL,
263 PRIMARY KEY (`id_autora`)
264) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
265
266CREATE TABLE IF NOT EXISTS `autori_knjiga` (
267 `id_knjige` int(50) unsigned NOT NULL AUTO_INCREMENT,
268 `id_autora` int(50) unsigned NOT NULL,
269 PRIMARY KEY (`id_knjige`),
270 KEY `id_autora` (`id_autora`)
271) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
272
273
274CREATE TABLE IF NOT EXISTS `knjige` (
275 `id_knjige` int(50) unsigned NOT NULL AUTO_INCREMENT,
276 `naslov` text NOT NULL,
277 `br_stranica` int(200) unsigned NOT NULL,
278 PRIMARY KEY (`id_knjige`)
279) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;