SQL-tietojen poistaminen
tietokannasta
Olemme syöttäneet tietoja tietokantaan ja
hakeneet niitä listaan sivuille. Joskus tarvitsee kuitenkin
poistaa jo syötettyjä tietoja kannasta. Nyt valmistamme
tuotettuun listaan ylimääräisen sarakkeen, johon tulee
poistolinkki. Tämän avulla voimme pistaa halutun rivin
tietokannasta yksinkertaisesti klikkaamalla linkkiä.
Liitä punaisella merkitty koodi aiemmin
tehtyyn listakoodiin, joka hakee tiedot tietokannasta. Koodi
lisää sarakkeen ja liittää sinne linkin. Linkki on ohjattu
omaan poisto-ohjelmaan. Koodi lisää osoitteeseen numeron,
jotta ohjelma tietää minkä rivin se poistaa tietokannasta.
print('<tr><td>');
print $rivi["numero"];
print('</td><td>');
print $rivi["nimi"];
print('</td><td>');
print $rivi["osoite"];
print('</td><td>');
print('<a href="poisto.php?numero=');
print($rivi["numero"]);
print('">Poista</a>');
print('</td></tr>');
print ("\n"); |
Nyt valmistamme koodin, joka tekee muutoksen
tietokantaan. Nimeä tämä koodi nimellä poisto.php.
Koodi on muuten samanlainen kuin edellisissä luvuissa
valmistettu tallennus-koodi. Ainoa ero on, että nyt käytämme
delete-lausetta insertin tilalla. Samoin tieto poistettavasta
rivistä tulee osoitteen mukana. Muokkaa myös html-tekstit ja
linkit poistoon sopivaksi.
<?php $con =
mysqli_connect('localhost','tunnus','salasana','tietokanta');
if (mysqli_connect_errno()) { echo "Failed to connect
to MySQL: " . mysqli_connect_error(); exit(); }
if ($result = mysqli_query($con,
"DELETE from `puhelin` where numero = '{$_GET['numero']}'
"));
if (mysqli_errno() || mysqli_error()) {
$virhe = "Virhe: " . mysqli_errno() . ": " .
mysqli_error(); }
mysqli_close($con); ?>
<html> <head> </head> <body> <?php if
(strlen($virhe) > 0) {
print("<h2>Tallennusvirhe</h2>"); print($virhe); }
else print("<h2>Numero on
poistettu</h2>"); ?> <p> <a
href="index.php">Takaisin lomakkeelle</a> </body>
</html> |
|