Oglasi  
     




  Prijatelji  
     


 MYSQL

Brisanje podataka

Ovim upitom brišemo podatke:
DELETE FROM tablica

Sada ćemo pokazati kako ćemo obrisati neku vijest ,koju smo već napravili , na osnovi njezinog ID-a:

DELETE FROM vijesti WHERE idvijesti=1


WHERE- služi za naznačivanje da nakon njega slijede uvjeti pomoću kojih određujemo (ograničavamo) skup podataka nad kojima će se obaviti neka operacija.

Sada ćemo napraviti upit koji će izbrisati sve vijesti između dva datuma:

DELETE FROM vijesti WHERE datum>='2005-11-11' AND datum <'2005-12-01'


Brisanje vijesti:

<html>
<head>
<title>Preglednik vijesti</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<h1>Administracija vijesti</h1>
<hr>
<a href="unos.php">Dodaj novost</a>
<hr>
<?
function pretvoriDatum($mysqlDatum)
{
$tmp=explode("-", $mysqlDatum);
$datum=$tmp[2] . "." . $tmp[1] . "." . $tmp[0];
return $datum;
}
include "spoj.php";
// brisanje vijesti
if ($_GET["action"]=="obrisi")
{
if ($_GET["idvijesti"])
{
$sql="DELETE FROM vijesti WHERE idvijesti=" . $_GET["idvijesti"];
if (mysql_query($sql))
{
echo "Novost je uspješno obrisana";
} else {
echo "Nastala je greška pri brisanju vijesti<br />" . mysql_error();
}
}
}
$sql="SELECT idvijesti, naslov, datum FROM vijesti ORDER BY datum DESC";
if (!$q=mysql_query($sql))
{
echo "Nastala je greška pri izvođenju upita<br />" . mysql_query();
die();
}
if (mysql_num_rows($q)==0)
{
echo "Nema vijesti";
} else {
?>
<table width="760" border="0" cellpadding="1" cellspacing="1">
<tr>
<td><b>Naslov</b></td>
<td><b>Datum</b></td>
<td><b>Opcije</b></td>
</tr>
<?
while ($redak=mysql_fetch_array($q))
{
?>
<tr>
<td><?=$redak["naslov"]?></td>
<td><?=pretvoriDatum($redak["datum"])?></td>
<td>
<a href="uredivanjevijesti.php? idvijesti=<?=$redak["idvijesti"]?>">Uredi</a>
<a href="?action=obrisi&idvijesti=<?=$redak["idvijesti"]?> ">Obriši</a>
</td>
</tr>
<?
}
?>
</table>
<?
}
?>
</body>
</html>


Prije nego što obavljamo samo brisanje moramo provjeriti da li su ispunjeni svi uvjeti za obavljanje brisanja. Nakon toga moramo provjeriti ID vijesti kojeg želimo obrisati. Nakon provjere tih uvjeta prešli smo na samo brisanje:

$sql="DELETE FROM vijesti WHERE idvijesti=" . $_GET["idvijesti"];
if (mysql_query($sql))
{
echo "Novost je uspješno obrisana";
} else {
echo "Nastala je greška pri brisanju vijesti<br />" . mysql_error();
}


Ako je funkcija mysql_query() vratio true novost je obrisana a ako je vratio false znači da je nastala neka greška koju će nam funkcija mysql_error() opisati.

Ako želimo provjeriti je li stvarno vijest obrisana koristiti ćemo mysql_affected_rows () funkciju. Ona vraća broj redaka koji su bili zahvaćeni posljednjom operacijom i ona se može koristiti samo nakon sljedećih upita: DELETE, UPDATE i INSERT

Sada ćemo tu funkciju staviti u našu skriptu:

$sql="DELETE FROM vijesti WHERE idvijesti=" . $_GET["idvijesti"];
if (mysql_query($sql))
{
if (mysql_affected_rows() > 0 )
{
echo "Novost je uspješno obrisana";
} else {
echo "Nije obrisana niti jedna novost!";
}
} else {
echo "Nastala je greška pri brisanju vijesti<br />" . mysql_error();
}



Sada smo dodali još jednu provjeru koja ispituje dali je broj obrisanih redaka veći od nule.

Sljedeći tutorijal: Pribavljanje podataka

_________________________

Autor ovog tutorijala: Leviathan

Copyright - Tutorijali.Net 2006 - 2012