|
SQL-tietojen hakeminen
tietokannasta
Seuraavassa osassa haemme SQL-tietokannasta tietoja joita
olemme manuaalisesti sinne syöttäneet phpMyAdminin avulla
tehdessämme taulukkoja. Laadimme php-koodin avulla www-sivulle
listat joihin syötämme tietoja tietokannasta.
Aloitamme laatimalla sivupohjan johon tiedot
haetaan. Samalla rakennetaan ensimmäinen rivi taulukkoon joka
tulostetaan sivulle. Taulukon sarakkeille annetaan otsikot.
|
<html>
<head>
<title>SQL-puhelinluettelo</title>
</head>
<body>
<h2 align="center">Puhelinluettelo</h2>
<table border="1" width="100%">
<tr>
<td><b>Numero</b></td>
<td><b>Nimi</b></td>
<td><b>Osoite</b></td>
</tr> |
Seuraavaksi aloitetaan SQL-käskyt php-koodin
avulla. Ensiksi otetaan yhteyttä MySQL-palvelimeen
mysql_connect()-funktiolla. Yhteyden saamiseksi, funktiolle on
lisättävä palvelin, tunnus ja salasana. Jos yhteys ei onnistu,
antaa se arvoksi nolla.
|
<?php
$yhteysNro =
mysql_connect("localhost","tunnus","salasana");
if ($yhteysNro) |
Kun yhteys on muodostettu palvelimelle,
valitaan tietokanta mysql_selectdb()-funktiolla. Tänne
määritellään tietokannan nimi.
|
{
if (mysql_selectdb('kannan_nimi')) |
Itse kysely MySQL-tietokantaan tapahtuu
mysql_query ()-funktiolla. Mallissa tehdään kysely
puhelin-tauluun. Funktiolle annetaan parametreina SQL-lause
joilla kysely suoritetaan. Näiden syntaksi suoritetaan
seuraavan esimerkin mukaan:
SELECT <Sarake> FROM <Taulukko>
Jos halutaan tuoda kaikki tiedot, käytetään *-merkkiä:
SELECT * FROM puhelin;
Jos halutaan tuoda asiat määrätyssä järjestyksessä:
SELECT numero, nimi FROM puhelin;
|
{
$tulosrivit = mysql_query ('SELECT * FROM puhelin ORDER By
nimi')
or die ('Kyselyvirhe!'); |
Kun tietokantayhteys on saatu, tulostetaan
tietokantataulun rivit yksi kerrallaan sivulle. Esimerkissä on
käytetty mysql_fetch_array()-funktiota While-silmukassa.
Silmukka ajetaan niin monta kertaa läpi, kunnes funktio
palauttaa False-arvon. mysql_fetch_array()-funktiossa
viitataan tietokantataulun vastaavilla nimillä. näitä
voitaisiin myös kutsua numerollisten indeksien mukaan. Lopussa
\n vaihtaa riviä lähdekoodissa.
|
while($rivi =
mysql_fetch_array($tulosrivit))
{
print('<tr><td>');
print $rivi["numero"];
print('</td><td>');
print $rivi["nimi"];
print('</td><td>');
print $rivi["osoite"];
print('</td></tr>');
print ("\n");
}
mysql_free_result($tulosrivit); |
Alussa määriteltyjen if- virhemääritelmien
else-komennot tulevat loppuun. Samoin päätetään php-osuus.
|
}
else
echo "Tietokanta puhelin ei avautunut!";
}
else
echo "Tietokantaan kytkeytyminen epäonnistui!";
?> |
Loppussa ei unohdeta päättää html-koodia.
 |