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

Both sides previous revisionEdellinen revisio
Seuraava revisio
Edellinen revisio
tietokantaan_kytkeytyminen_ja_kyselyjen_tekeminen [2011/10/07 09:02] moverstitietokantaan_kytkeytyminen_ja_kyselyjen_tekeminen [2015/08/13 07:20] (nykyinen) – ulkoinen muokkaus 127.0.0.1
Rivi 18: Rivi 18:
 </code> </code>
  
 +Tiedosto ''index.php''
 <code php> <code php>
 <html> <html>
 <head> <head>
-<title>Kirjasto</title>+<title>Kirjasto : Kirjaluettelo</title>
 </head> </head>
 <body> <body>
 <?php <?php
-try{ +// Yhdistetään tietokantaan 
-$yhteys new PDO("mysql:localhost;dbname=kirjasto"); +$linkki mysql_connect("localhost", "root", "");
-//$yhteys->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);  +
-$kysely = $yhteys->prepare("SELECT * FROM kirjat"); +
-$kysely->execute();+
  
-+if (!$linkki)
-catch (PDOException $e)+
 { {
- die("Virhe: ".$e->getMessage());+ die("Virhe yhdistettäessä tietokantaan: ".mysql_error());
 } }
  
-//if (!$kysely) +// Valitaan tietokanta 
-//{ +mysql_select_db("kirjasto");
-// print_r($yhteys->errorInfo()); +
-//}+
  
-while ($rivi $kysely->fetch())+//Tehdään MySQL-kysely, jolla valitaan kaikki tieto kirjoista 
 +$rivit mysql_query("SELECT * FROM kirjat")
 +if (!$rivit)
 { {
- print_r ($rivi);+ die ("Virhe kyselyssä: ".mysql_error());
 } }
  
-include ("valikko.php");+ 
 +//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> </body>
 </html> </html>
 </code> </code>
  
-<code php> 
-<html> 
-<head> 
-<title>Kirjasto</title> 
-</head> 
  
 +''Tiedosto lisaa_kirja.php''
 +
 +<code php>
 <?php <?php
 if (isset($_POST["submit"])) if (isset($_POST["submit"]))
 { {
- echo ("Lisätään kirja..."); + // Yhdistetään tietokantaan 
- try{ + $linkki mysql_connect("localhost", "root", ""); 
- $yhteys new PDO("mysql:localhost;dbname=kirjasto"); + 
- $kysely = $yhteys->prepare("INSERT INTO kirjat (kirjoittajakirja, hinta, isbn, kustantaja, kkoti) VAKUES (?, ?, ?, ?, ?, ?)"); + if (!$linkki)
- $kysely->execute(array($_POST["kirjoittaja"],$_POST["kirja"],$_POST["hinta"],$_POST["isbn"],$_POST["kustantaja"],$_POST["kkoti"])); +
- if (!$kysely) +
-+
- print_r($yhteys->errorInfo()); +
-+
-+
- catch (PDOException $e)+
  {  {
- die("Virhe: ".$e->getMessage());+ 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> <body>
 +
 <form action="lisaa_kirja.php" method="post"> <form action="lisaa_kirja.php" method="post">
-ID: <input type="text" name="id"><br> 
 Kirjoittaja: <input type="text" name="kirjoittaja"><br> Kirjoittaja: <input type="text" name="kirjoittaja"><br>
 Kirja: <input type="text" name="kirja"><br> Kirja: <input type="text" name="kirja"><br>
Rivi 90: Rivi 117:
 <input type="submit" value="Lähetä" name="submit"> <input type="submit" value="Lähetä" name="submit">
 </form> </form>
-<?php + 
-include("valikko.php"); +<ul> 
-?>+<li><a href="index.php">Kirjaluetteloon</a></li> 
 +</ul>
 </body> </body>
 </html> </html>
 </code> </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> <code php>
-<hr>+<?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> <ul>
-<li><a href="index.php">Luetteloon</a></li> +<li><a href="index.php">Kirjaluetteloon</a></li>
-<li><a href="lisaa_kirja.php">Lisää kirja</a></li>+
 </ul> </ul>
 +</body>
 +</html>
 </code> </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ä.
tietokantaan_kytkeytyminen_ja_kyselyjen_tekeminen.1317967340.txt.gz · Viimeksi muutettu: 2015/08/13 07:18 (ulkoinen muokkaus)