Käyttäjän työkalut

Sivuston työkalut


tietokantaan_kytkeytyminen_ja_kyselyjen_tekeminen

Erot

Tämä näyttää erot valitun ja nykyisen version kesken tästä sivusta.

Linkki vertailunäkymään

tietokantaan_kytkeytyminen_ja_kyselyjen_tekeminen [2016/01/12 08:11]
tietokantaan_kytkeytyminen_ja_kyselyjen_tekeminen [2015/08/13 04:20] (nykyinen)
Rivi 1: Rivi 1:
 +<​code>​
 +USE kirjasto;
  
 +CREATE TABLE IF NOT EXISTS `kirjat` (
 +  `id` int(8) NOT NULL AUTO_INCREMENT,​
 +  `kirjoittaja` text NOT NULL,
 +  `nimi` text NOT NULL,
 +  `hinta` float NOT NULL,
 +  `isbn` text NOT NULL,
 +  `kustantaja` text NOT NULL,
 +  `kustkotipaikka` text NOT NULL,
 +  PRIMARY KEY (`id`)
 +) ENGINE=InnoDB ​ DEFAULT CHARSET=latin1;​
 +
 +
 +INSERT INTO `kirjat` (`id`, `kirjoittaja`,​ `nimi`, `hinta`, `isbn`, `kustantaja`,​ `kustkotipaikka`) VALUES
 +(1, '​Väinö Linna',​ '​Tuntematon sotilas',​ 14.95, '​9789510367629 ', '​WSOY',​ '​Helsinki'​);​
 +</​code>​
 +
 +Tiedosto ''​index.php''​
 +<code php>
 +<​html>​
 +<​head>​
 +<​title>​Kirjasto : Kirjaluettelo</​title>​
 +</​head>​
 +<​body>​
 +<?php
 +// Yhdistetään tietokantaan
 +$linkki = mysql_connect("​localhost",​ "​root",​ ""​);​
 +
 +if (!$linkki)
 +{
 + die("​Virhe yhdistettäessä tietokantaan:​ "​.mysql_error());​
 +}
 +
 +// Valitaan tietokanta
 +mysql_select_db("​kirjasto"​);​
 +
 +//Tehdään MySQL-kysely,​ jolla valitaan kaikki tieto kirjoista
 +$rivit = mysql_query("​SELECT * FROM kirjat"​);​
 +if (!$rivit)
 +{
 + die ("​Virhe kyselyssä: "​.mysql_error());​
 +}
 +
 +
 +//​Käsitellään tulokset
 +if (mysql_num_rows($rivit) == 0)
 +{
 + echo ("Ei vielä kirjoja!"​);​
 +}
 +else
 +{
 + // Tulostetaan taulukko kirjoista
 + echo ("<​table>​\n"​);​
 + echo ("<​tr><​td>​ID</​td><​td>​Kirjoittaja</​td><​td>​Nimi</​td><​td>​Hinta</​td><​td>​ISBN</​td><​td>​Kustantaja</​td><​td>​Kustantajan kotipaikka</​td></​tr>​\n"​);​
 + while ($kirja = mysql_fetch_assoc($rivit))
 + {
 + print ("<​tr><​td>​{$kirja['​id'​]}</​td><​td>​{$kirja['​kirjoittaja'​]}</​td><​td>​{$kirja['​nimi'​]}</​td><​td>​{$kirja['​hinta'​]}</​td><​td>​{$kirja['​isbn'​]}</​td><​td>​{$kirja['​kustantaja'​]}</​td><​td>​{$kirja['​kustkotipaikka'​]}</​td></​tr>​\n"​);​
 + }
 + echo ("</​table>​\n"​);​
 +}
 +?>
 +
 +<ul>
 +<​li><​a href="​lisaa_kirja.php">​Lisää kirja</​a></​li>​
 +</ul>
 +</​body>​
 +</​html>​
 +</​code>​
 +
 +
 +''​Tiedosto lisaa_kirja.php''​
 +
 +<code php>
 +<?php
 +if (isset($_POST["​submit"​]))
 +{
 + // Yhdistetään tietokantaan
 + $linkki = mysql_connect("​localhost",​ "​root",​ ""​);​
 +
 + if (!$linkki)
 + {
 + die("​Virhe yhdistettäessä tietokantaan:​ "​.mysql_error());​
 + }
 +
 + // Valitaan tietokanta
 + mysql_select_db("​kirjasto"​);​
 +
 + //​Tehdään MySQL-kysely,​ jolla lisätään kirjan tiedot
 + $kysely = "​INSERT INTO kirjat (kirjoittaja,​ nimi, hinta, isbn, kustantaja, kustkotipaikka) VALUES ('​{$_POST["​kirjoittaja"​]}','​{$_POST["​kirja"​]}',​{$_POST["​hinta"​]},'​{$_POST["​isbn"​]}','​{$_POST["​kustantaja"​]}','​{$_POST["​kkoti"​]}'​)";​
 + // INSERT INTO kirjat (kirjoittaja,​ nimi, hinta, isbn, kustantaja, kustkotipaikka) VALUES ('​Väinö Linna','​Tuntematon sotilas',​19.40,'​9789510367629 ','​WSOY','​Helsinki'​) ​
 +
 + $tulos = mysql_query($kysely);​
 + if (!$tulos)
 + {
 + die ("​Virhe kyselyssä: "​.mysql_error());​
 + }
 +
 + header("​Location:​ index.php"​);​
 +}
 +?>
 +
 +<​html>​
 +<​head>​
 +<​title>​Kirjasto : Lisätään kirja</​title>​
 +</​head>​
 +<​body>​
 +
 +<form action="​lisaa_kirja.php"​ method="​post">​
 +Kirjoittaja:​ <input type="​text"​ name="​kirjoittaja"><​br>​
 +Kirja: <input type="​text"​ name="​kirja"><​br>​
 +Hinta: <input type="​text"​ name="​hinta"><​br>​
 +ISBN: <input type="​text"​ name="​isbn"><​br>​
 +Kustantaja: <input type="​text"​ name="​kustantaja"><​br>​
 +Kustantajan kotipaikka: ​ <input type="​text"​ name="​kkoti"><​br>​
 +<input type="​submit"​ value="​Lähetä"​ name="​submit">​
 +</​form>​
 +
 +<ul>
 +<​li><​a href="​index.php">​Kirjaluetteloon</​a></​li>​
 +</ul>
 +</​body>​
 +</​html>​
 +</​code>​
 +
 +Tee lomake, jolla voi päivittää kirjan tietoja.
 +
 +Kysely, jolla valitaan tietty kirja (ID on kullakin kirjalla eri) ''​SELECT * FROM kirjat WHERE id=$_GET['​id'​]''​. Päivityskomento on ''​UPDATE kirjat SET nimi=$_POST['​nimi'​],​ jne WHERE id=$_POST['​id'​]''​.
 +
 +
 +Tiedosto ''​muokkaa_kirjaa.php''​
 +
 +<code php>
 +<?php
 +// Yhdistetään tietokantaan
 +$linkki = mysql_connect("​localhost",​ "​root",​ ""​);​
 +
 +if (!$linkki)
 +{
 + die("​Virhe yhdistettäessä tietokantaan:​ "​.mysql_error());​
 +}
 +
 +// Valitaan tietokanta
 +mysql_select_db("​kirjasto"​);​
 +
 +// Päivitetään kirjan tiedot lomakkeen tiedoilla
 +if (isset($_POST["​submit"​]))
 +{
 + //​Tehdään MySQL-kysely,​ jolla lisätään kirjan tiedot
 + $kysely = "​UPDATE kirjat SET kirjoittaja='​{$_POST["​kirjoittaja"​]}',​ nimi='​{$_POST["​kirja"​]}',​ hinta={$_POST["​hinta"​]},​ isbn='​{$_POST["​isbn"​]}',​ kustantaja='​{$_POST["​kustantaja"​]}',​ kustkotipaikka='​{$_POST["​kkoti"​]}'​ WHERE id={$_POST["​id"​]}";​
 + echo $kysely;
 + $tulos = mysql_query($kysely);​
 + if (!$tulos)
 + {
 + die ("​Virhe kyselyssä: "​.mysql_error());​
 + }
 + 
 + header("​Location:​ index.php"​);​
 +}
 +?>
 +<​html>​
 +<​head>​
 +<​title>​Kirjasto : Lisätään kirja</​title>​
 +</​head>​
 +<​body>​
 + 
 +<?php
 +$kysely = "​SELECT * FROM kirjat WHERE id={$_GET['​id'​]}";​
 +
 +$tiedot = mysql_query($kysely);​
 +if (!$tiedot)
 +{
 + die ("​Virhe kyselyssä: "​.mysql_error());​
 +}
 +$kirja = mysql_fetch_assoc($tiedot);​
 +
 +?>
 + 
 +<form action="​muokkaa_kirjaa.php"​ method="​post">​
 +Kirjoittaja:​ <input type="​text"​ name="​kirjoittaja"​ value="<?​php echo $kirja['​kirjoittaja'​]?>"><​br>​
 +Kirja: <input type="​text"​ name="​kirja"​ value="<?​php echo $kirja['​nimi'​]?>"><​br>​
 +Hinta: <input type="​text"​ name="​hinta"​ value="<?​php echo $kirja['​hinta'​]?>"><​br>​
 +ISBN: <input type="​text"​ name="​isbn"​ value="<?​php echo $kirja['​isbn'​]?>"><​br>​
 +Kustantaja: <input type="​text"​ name="​kustantaja"​ value="<?​php echo $kirja['​kustantaja'​]?>"><​br>​
 +Kustantajan kotipaikka: ​ <input type="​text"​ name="​kkoti"​ value="<?​php echo $kirja['​kustkotipaikka'​]?>"><​br>​
 +<input type="​hidden"​ name=id value="<?​php echo $kirja['​id'​]?>">​
 +<input type="​submit"​ value="​Lähetä"​ name="​submit">​
 +</​form>​
 + 
 +<ul>
 +<​li><​a href="​index.php">​Kirjaluetteloon</​a></​li>​
 +</ul>
 +</​body>​
 +</​html>​
 +</​code>​
 +
 +Edellisessä oletetaan, että alkuperäinen kirjojen listaustoiminto (''​index.php''​) on muokattu seuraavaksi:​
 +<code php>
 + // Tulostetaan taulukko kirjoista
 + echo ("<​table>​\n"​);​
 + echo ("<​tr><​td>​ID</​td><​td>​Kirjoittaja</​td><​td>​Nimi</​td><​td>​Hinta</​td><​td>​ISBN</​td><​td>​Kustantaja</​td><​td>​Kustantajan kotipaikka</​td><​td>&​nbsp</​td></​tr>​\n"​);​
 + while ($kirja = mysql_fetch_assoc($rivit))
 + {
 + print ("<​tr><​td>​{$kirja['​id'​]}</​td><​td>​{$kirja['​kirjoittaja'​]}</​td><​td>​{$kirja['​nimi'​]}</​td><​td>​{$kirja['​hinta'​]}</​td><​td>​{$kirja['​isbn'​]}</​td><​td>​{$kirja['​kustantaja'​]}</​td><​td>​{$kirja['​kustkotipaikka'​]}</​td><​td><​a href=\"​muokkaa_kirjaa.php?​id={$kirja['​id'​]}\">​Muokkaa</​a></​td></​tr>​\n"​);​
 + }
 + echo ("</​table>​\n"​);​
 +
 +</​code>​
 +
 +''​muokkaa_kirjaa.php''​ saa siis ''​GET''​-muuttujan avulla tiedon muokattavan kirjan ''​ID'':​stä.