DRUGI KOLOKVIJ ZADACI ZA VJEŽBU 1. zadatak. Za rad s bazom podataka moja_baza koristimo naredbu: a. SELECT moja_baza b. ENTER moja_baza c. USE moja_baza d. OPEN moja_baza 2. zadatak. Koja od ovih naredbi briše tablicu imena radnici ako za to imate ovlasti: a. DROP TABLE radnici b. DELETE radnici c. DELETE TABLE radnici d. DROP radnici e. DELETE radnici WHERE confirm = "YES" f. DROP radnici WHERE confirm = "YES" 3. zadatak. Za ispis stringa "Pozdrav" u PHP u koristimo sljedeću naredbu: a. "Pozdrav"; b. echo "Pozdrav"; c. Document.Write("Pozdrav"); d. response.write("pozdrav") 4. zadatak. Koje od sljedećih tvrdnji su točne za PHP: a. za čitanje datoteke koristimo funkciju read() b. za zaključavanje datoteke koristimo funkciju flock() c. for petlju možemo koristiti za rad s nenumerički indeksiranim poljima d. funkcija shuffle() mijenja redoslijed elemenata u polju na slučajan način e. koristeći funkciju file() za učitavanje datoteke u polje svaki red u datoteci predstavlja poseban element polja 1
5. zadatak. Datoteku "tekst.txt" otvaramo isključivo za čitanje koristeći naredbu: a. open("tekst.txt"); b. open("tekst.txt","read"); c. fopen("tekst.txt","r"); d. fopen("tekst.txt","r+"); 6. zadatak. MySQL pripada RDBMS (Relational Database Management System) grupi programa koji između ostalog omogućuju: a. kreiranje nove relacijske baze podataka, unos novih podataka u bazu te osvježavanje baze, tj. promjenu postojećih podataka u bazi b. korištenje relacijskih baza podataka kreiranih u drugom specijaliziranom software u koji pripada RDBCS (Relational Database Creation Software) grupi programa, ali ne I kreiranje novih baza c. kreiranje nove baze podataka, unos novih podataka u bazu, ali ne i brisanje podataka iz baze d. postavljanje različitih razina ovlaštenja za pristup i manipulaciju podacima u bazi e. izvršavanje različitih upita usmjerenih prema relacijskoj bazi podataka 7. zadatak. Popunite prazna mjesta u sljedećem SQL kodu tako da pomoću njega u tablici Osoba promijenite samo adresu i grad osobe s JMBG om 2003978124534: UPDATE (Osoba) SET Adresa= Zadarska 24, Grad='Zagreb' JMBG=2003978124534 (WHERE) Što bi se dogodilo s podacima u tablici Osoba da u prethodnom SQL kodu izostavite uvjet koji specificira instance tablice kod koje treba promijeniti adresu I grad: a. u tablici se ne bi promijenilo ništa b. zbog nepreciznosti bi svi podaci iz stupaca Adresa i Grad bili izbrisani c. adrese u svim poljima stupca Adresa bi se promijenile u 'Zadarska 24' d. podaci svim poljima stupca Grad bi bili zamijenjeni sa 'Zagreb' e. podaci u svim poljima tablice bi bili zamijenjeni sa 'Zadarska 24, Zagreb' 2
8. zadatak. Što je rezultat sljedećeg Cross Join SQL upita temeljenog na tablicama customers i orders baze podataka bookorama.sql obrađene na vježbama: select orders.orderid, orders.amount, orders.date from customers, orders where customers.name = Julie Smith and customers.cust_id = orders.cust_id; a. rezultat je nova tablica koja sadrži sve stupce iz tablica customers i orders b. rezultat je nova baza podataka u koju će se u buduće pohranjivati svi podaci vezani uz kupovinu osobe Julie Smith c. rezultat je tablica koja sadrži samo podatke o kupcu Julie Smith iz stupaca orderid, amount i date tablice orders d. rezultat je tablica koja sadrži podatke o svim kupcima osim za kupca Julie Smith iz stupaca orderid, amount i date tablice orders e. rezultat je nova tablica koja sadrži podatke o kupcu Julie Smith iz tablica customers i orders koji ispunjavaju uvjet customers.cust_id = orders.cust_id 9. zadatak. Odaberite točne odgovore vezane uz sljedeći PHP kod: $a = 56; echo gettype($a). <br /> ; settype($a, double ); echo gettype($a). <br /> ; a. u prozoru web preglednika ispisuje se vrijednosti 56 PHP varijable $a b. u prozoru web preglednika ispisuju se nazivi integer i double korištenih numeričkih tipova podataka c. ispisom naziva numeričkih tipova podataka integer i double, jer je PHP varijabla $a originalno tipa double te je pomoću naredbe gettype() pretvorena u tip integer d. PHP varijabla $a originalno je tipa integer te je pomoću naredbe settype() pretvorena u tip double e. naredba echo gettype($a); rezultira ispisom tipa podatka spremljanog u varijablu $a u ovom slučaju ispisom naziva integer 3
10. zadatak. Ispravite grešku u sljedećoj PHP skripti te skicirajte tablicu koju ona generira: <table> <tr> <td align="center">distance</td> <td align="center">cost</td> </tr> <?php for (distance = 10; $distance <= 20; $distance += 10) { echo "<tr> <td align=\"right\">".$distance."</td> <td align="right">".($distance / 2)."</td> </tr>\n"; } </table> linija 7 ispred distance=10 treba dodati znak $ linija 11 treba stajati \"right\", a ne "right" linija 13 treba dodati završni PHP tag?> tablica generirana ispravljenom PHP skriptom: Distance Cost 10 5 20 10 11. zadatak. Ukoliko želimo prilagoditi određeni tekst za unos u bazu podataka, trebamo najprije biti sigurni da tekst ne sadrži specijalne znakove koji označavaju kontrolne sekvence. Pretpostavimo da vrijednost sljedeće varijable $sve_ili_nista= Najprije rijesite svoje probleme a onda cistite 'tudje', što je teško\lako! ; najprije pohranjujemo u bazu podataka, a potom je putem upita dohvatimo i ispisujemo u WEB preglednik. Koje su tvrdnje točne? a) Funkcijom addslashes() dodajemo kose crte ispred svih specijalnih znakova u stringu (osim navodnika za početak i kraj stringa), a pomoću funkcije stripslashes() uklanjamo dodane kose crte. 4
b) Funkciju stripslashes() preporučljivo je koristiti prije unosa teksta u bazu podataka. c) Funkciju addslashes() preporučljivo je koristiti prije unosa teksta u bazu podataka. d) Ako funkcija get_magic_quotes_gpc() vrati vrijednost TRUE, potrebno je koristiti funkciju addslashes(). 12. zadatak. Popunite sljedeći PHP kod $email = "import@trade.com"; $toaddress = "export@trade.com"; $feedback="ne valja!!!!"; ($subject) = "Popis robe"; $mailcontent = "Isporučeno: ".$name."\n". "E-mail za uvoz: ".$email_"\n". "komentari kupca\n".$feedback."\n"; $fromaddress = "From: webserver@example.com"; mail( ($toaddres), $subject, ($mailcontent), ($fromaddress)); tako da se na e mail adresu export@trade.com pošaljemail sa naslovom Popis robe, sadržajem koji je pohranjen u varijabli $mailcontent i zaglavljem From: 13. zadatak. Koje od sljedećih tvrdnji nisu točne? a) PHP skripta izvršava se na klijentskom računalu a rezultati su vidljivi na poslužiteljskom pregledniku b) Apache je WEB poslužitelj c) Postoje dva pristupa u ostvarivanju veze s MySQL ovom bazom podataka d) U objekto orijentiranom pristupu za ostvarivanje veze s bazom podataka koristimo funkciju mysqli(). 5
14. zadatak. Dopunite sljedeće rečenice tako da dobivene tvrdnje budu istinite. U cilju izbjegavanja istovremenog upisa u datoteku, PHP sustav koristi metodu (flock()). Ukoliko želimo onemogućiti istovremeni upis u otvorenu datoteku predstavljenu resursom $fp koristit ćemo sljedeću naredbu (flock)($fp, (LOCK_EX)). 15. zadatak. Neka je u varijabli $a zadano jednodimenzionalno polje. Dopunite sljedeći kod (foreach)($a as $x => ($vrijednost)) { echo Element s ključem. ($x). ima vrijednost.$vrijednost. ( <br/> ); } tako da a) sve vrijednosti u polju $a budu ispisane zajedno s odgovarajućim ključem b) Svaki ispis treba ići u novi redak. Ljiljana Primorac, Slobodan Jelić, Nenad Šuvak 6