Problem set 10: Web-based record library Exercise A: The Data Model To tabeller: - plader - numre Tabellen "plader" skal indeholde: - plade_id (int PRIMARY KEY auto_increment) - kunstner (varchar(100) NOT NULL) - pladenavn (varchar(100) NOT NULL) - udgivelsesår (int) Tabellen "numre" skal indeholde: - plade_id (int PRIMARY KEY auto_increment NOT NULL) - nummer_id (int NOT NULL) - kunstner (varchar(100) NOT NULL) - pladenavn (varchar(100)) - nummer (varchar(100) NOT NULL) CREATE TABLE plader ( plade_id int PRIMARY KEY AUTO_INCREMENT, kunstner varchar(100) NOT NULL, pladenavn varchar(100) NOT NULL, udgivelsesaar int )engine=innoDB; CREATE TABLE numre ( plade_id int PRIMARY KEY auto_increment, nummer_id int, kunstner varchar(100) NOT NULL, pladenavn varchar(100), nummer varchar(100) NOT NULL )engine=innoDB; EXERCISE B: Data Transactions Først sætter jeg nogle plader og numre ind i de to tabeller: INSERT INTO plader(plade_id, kunstner, pladenavn, udgivelsesaar) VALUES (1, 'Kashmir', 'Zitilites', 2001); INSERT INTO plader(plade_id, kunstner, pladenavn, udgivelsesaar) VALUES (2, 'Kinky Boot Beast', 'Beat 'em up', 1993); INSERT INTO plader(plade_id, kunstner, pladenavn, udgivelsesaar) VALUES (3, 'David Bowie', 'Ziggy Stardust', 1981); INSERT INTO plader(plade_id, kunstner, pladenavn, udgivelsesaar) VALUES (4, 'Stone Temple Pilots', 'Stone Temple Pilots', 1995); INSERT INTO numre (plade_id, nummer_id, kunstner, pladenavn, nummer) VALUES (1, 1, 'Kashmir', 'Zitilites','Zitilites'); INSERT INTO numre (plade_id, nummer_id, kunstner, pladenavn, nummer) VALUES (3, 2, 'David Bowie', 'Ziggy Stardust','Ziggy Stardust'); INSERT INTO numre (plade_id, nummer_id, kunstner, pladenavn, nummer) VALUES (4, 3, 'Stone Temple Pilots', 'Stoned','Stone Temple Piots'); INSERT INTO numre (plade_id, nummer_id, kunstner, pladenavn, nummer) VALUES (5, 4, 'Kashmir', 'The Good Life','Whoah!'); 1. Datatransaktion for at slette en sang fra en plade: DELETE FROM numre WHERE nummer='Whoah!'; 2. Datatransaktion for at slette en plade fra biblioteket: DELETE FROM plader WHERE plade_id=2; 3. Se sange fra en plade med plade_id: SELECT plade_id FROM plader, numre WHERE plader.plade_id, numre.plade_id = 1; 4. Se alle plader, der er udgivet i et givent år af en given kunstner: SELECT kunstner, udgivelsesaar FROM plader WHERE kunstner='Kashmir' AND udgivelsesaar=2001; Exercise C: The web structure Sider: 1: Musikbiblioteket forside - index.html: HTML-side, hvor man via en form (method=post action=hent_plader.php) kan søge på plader via deres plade_id - form: - input type=text - name = "søg" - input type="submit" - value="Søg" - hent_plader.php: PHP-script, der henter data om forespørgslen fra databasen 2. Vis alle plader - alle.php: php-side, hvor brugeren kan se en liste over alle de plader, der findes i biblioteket. Pladerne er ordnet efter deres plade_id 3. Tilføj plader og sange - tilfoej.html: HTML-side, hvor man via forms (method="post") kan tilføje plader - Form: tilfoej_plade - action = "tilfoej.php" - input type=text - name="plade-id" - name = "kunstner" - name= "pladenavn" - name= "udgivelsesår" - Form: tilfoej_nummer - action: "tilfoej.php" - input type=text - name=plade_id" - name = "kunstner" - name = "pladenavn" - name = "nummer" - tilfoej.php: PHP-script, der sender de tilføjede data til databasen + en besked til brugeren om, at sangen/pladen er tilføjet + et link til forsiden Exercise D: Web scripts 1.A. index.html: Velkommen til pladebiblioteket

Velkommen til Pladebiblioteket

På denne side kan du søge efter plader og numre, hvis du kender pladens ID

Indtast plade-ID
1.B. hent_plader.php: Sø%g titler

Titler

Her kan du se, hvilke titler vi har registreret for det plade-ID, du søgte på

Gå til forsiden 2. Alle.html Alle plader i musikbiblioteket

Titler

Her kan du se en liste over alle pladetitler, vi har registreret i musikbiblioteket. Pladerne er ordnet efter deres plade-ID

    $foresp_plader
"; ?>

Her kan du se en liste over alle de musiknumre, vi har registeret i pladebiblioteket

    $foresp_numre
"; ?> 3.A - tilfoej.html Tilføj plader og sange

Tilføj en plade eller sang

På denne side kan du tilføje plader og sange. Felter med * skal udfyldes

Plade-ID*

Kunstner*

Pladens navn*

Udgivelsesår

Musiknummer

3.B - tilfoej.php Tilføj plader og sange Sådan! Din sang eller plade er nu tilføjet" ?>

Gå til forsiden