************************************************************************* *Title: Besvarelse af opgavesætet PS8 * * * *Author: Jesper R. Selknæs * * * *Status: Skidtet viker sgu * ************************************************************************* ************************************************************************* *Opgave:PS8A: Datamodel * * * *File: http://www.itu.dk/people/selknaes/ps8/datamodel.sql * * * *Status: Ingen problemer, alt virker. * ************************************************************************* DROP TABLE IF EXISTS parties; DROP TABLE IF EXISTS guests; CREATE TABLE parties ( partyid INT PRIMARY KEY AUTO_INCREMENT, header VARCHAR(200), body TEXT, partydate DATETIME )ENGINE=INNODB; CREATE TABLE guests( guestid INT PRIMARY KEY AUTO_INCREMENT, partyid INT, name VARCHAR(100), email VARCHAR(100), FOREIGN KEY (partyid) REFERENCES parties(partyid) )ENGINE=INNODB; INSERT INTO parties (header, body, partydate) VALUES ('Hansemann Luchters Julestue', 'Hyggelig hulestue med Hansemann Luchter...', '2009-12-12'), ('Statsmandsbegravelse', 'Brodtgaard skal i jorden efter at flystyr i Satoverstyristan...', '2009-30-11'), ('Hansemann Luchter vel fremme', 'Vi fejre at Hansemann overleve mødet mellem Moris Mascot og helt utrolig stor møgdynge', '2009-12-14'), ('Brodtgaard vender tilbage', 'Danmarks fortabte søn vender tilbage, og det skal fejre med masser af steg ål. Bare han nu kommer gennem paskontrollen', '2009-12-1'); INSERT INTO guests (partyid, name, email) VALUES (1, 'Mogens', 'm@katapeojsen.dk'), (1, 'Hansemann', 'hansemann@bremen.dk'), (1, 'Betina', 'b@tina.dk'), (2, 'Hans Exelence', 'h@execelce.dk'), (2, 'Karl Åge Exelence', 'kaa@exelence.dk'), (2, 'Konfesionarius', 'praest@kirke.dk'), (3, 'Svend Gær', 'svend@gaer.dk'), (3, 'Bondemanden', 'bonde@mand.dk'), (3, 'Palle Gulvballe', 'pg@balle'), (4, 'Palle Gulvballe', 'pg@balle'), (4, 'Mogens', 'm@katapeojsen.dk'), (4, 'Leo Lummerkrogh', 'leo@lummer.dk'); ************************************************************************* *Opgave:PS8B: Det første SQL/PHP Script * * * *File: http://www.itu.dk/people/selknaes/ps8/list_parties.php * * * *Status: Ingen problemer, alt virker. * ************************************************************************* Drink server

Liste over fester

= NOW() GROUP BY parties.partyid ORDER BY partydate;"); $parties = ""; while ($row = mysql_fetch_row($rows)){ $parties $parties . "
  • $row[2] - $row[1] ($row[3] tilmeldte)"; } if (strlen($parties) == 0){ echo "Der er ingen fester!"; } else{ echo ""; } ?>

    Tilbage til index.

    Valid HTML 4.01 Transitional

    ************************************************************************* *Opgave:PS8C: list_attendings * * * *File: http://www.itu.dk/people/selknaes/ps8/list_attendings.php * * * *Status: Ingen problemer, alt virker. * ************************************************************************* Liste over gæster

    Liste over gæster

    $row[2]"; echo "

    Dato $row[1]

    "; echo "

    Arrangørens beskrivelse:

    "; echo "

    $row[3]

    "; } $rows = mysql_query("SELECT name, email FROM guests WHERE partyid = '$partyid' ORDER BY name"); $attendings = ""; echo ""; echo $attendings; echo ""; } } ?>

    Navn:

    Email:

    Tilbage til index.

    Valid HTML 4.01 Transitional

    ************************************************************************* *Opgave:PS8D: Indsæt i databasen (save_attending.php) * * * *File: http://www.itu.dk/people/selknaes/ps8/save_attending.php * * * *Status: Ingen problemer, alt virker. * ************************************************************************* ************************************************************************* *Opgave:PS8E: De hurtige * * * *File: http://www.itu.dk/people/selknaes/ps8/hurtige.txt * * * *Status: Ingen problemer, alt virker. * ************************************************************************* 1. Hvad er en formvariabel? Og hvordan bruges de? En formvariable er, som navnet antyder, en variable, der initialiseres i en HTML form, og overføres via HTTP datagrammet til en modtager URL. I PHP kan variable hentes fra HTTP datagrammet ved at læse variablen $_REQUEST['minvariable']; hvor minvariable er navnet på den formvariable der ønskes læst. 2. Givet tabellen FinTabel som har attributterne (kollonner) A, B, C og D, hvordan ser INSERT så ud, hvis jeg kun vil indsætte noget i C? INSERT INTO FinTabel (C) VALUES ('Noget*); 3. Hvad sker der, hvis man udfører følgende SQL: UPDATE Bruger SET Navn = "Ole O"; Alle rækker får "Ole O" som værdi i kolonnen Navn. 4. Hvad sker der hvis man udfører følgende SQL: DELETE FROM Bruger WHERE 0 > 1; Intet da 0 aldrig er større end 1. 5. Hvad sker der hvis man udfører følgende SQL: DELETE FROM Brugere; Hvis man ser bort fra stavefejlen (det kunne jo være et trickspørgsmål), vil alle rækker blive slettet. Ser man IKKE bort fra stavefejlen, returneres en fejl.