Oglasi  
     




  Prijatelji  
     


 MYSQL

Uređivanje podataka

Upoznali smo se prošli put sa SELECT naredbom te smo naučili kako prihvatiti sve retke jedne tablice te kako ih sortirati. Sada ćemo vidjeti kako točno izabrati određene retke tablice.

WHERE klauzula je jedna od klauzula SELECT upita. S njome ćemo izdvojiti skup podataka iz tablice.

SELECT * FROM vijesti WHERE idvijesti=1


Ovime smo pribavili sva polja vijesti čiji je ID jednak jedan.

Također unutar ove klauzule možemo kombinirati veći broj uvjeta spojenih sa logičkim funkcijama kao što su AND, OR, NOT i ostale.

Ako hoćemo izmjeniti podatke koristiti ćemo UPDATE naredbu.

UPDATE vijesti SET naslov="neki naslov"


Sada kada bi htjeli ukomponirati WHERE klauzulu sa UPDATE naredbom to bi izgledalo otprilike ovako:

UPDATE vijesti SET naslov="neki naslov", datum="2005-09-12" WHERE idvijesti=1


Ovim upitom smo izmijenili naslov upisa vijesti koja ima ID jednak jedan.

Izmjena vijesti

[code]
<html>
<head>
<title>Uređivanje vijesti</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<b>Uređivanje vijesti</b>
<hr>
<?
include "spoj.php";
if (!$_POST["SBuredi"])
{
$err=false;
if (!$_GET["idvijesti"])
{
echo "Nepotpuni ulazni podaci";
$err=true;
} else {
$sql="SELECT * FROM vijesti WHERE idvijesti=" . $_GET["idvijesti"];
if (!$q=mysql_query($sql))
{
echo "Nastala je greška pri izvođenju upita<br />" . mysql_query();
$err=true;
} elseif (mysql_num_rows($q)==0) {
echo "Nema takve novosti";
$err=true;
} else {
$novost=mysql_fetch_array($q);
}
}
if (!$err)
{
?>
<form method="post" action="">
<input type="hidden" name="idvijesti" value="<?=$_GET["idvijesti"]?>">
Naslov : <input type="text" name="naslov" value="<?=$novost["naslov"]?>"><br />
Tekst : <textarea name="tekst"><?=$novost["tekst"]?></textarea><br />
<input type="submit" name="SBuredi" value="Pohrani">
</form>
<?
}
} else {
$sql="UPDATE vijesti SET naslov='". $_POST["naslov"] ."', tekst='".$_POST["tekst"] ."' WHERE idvijesti=". $_POST["idvijesti"];
if (mysql_query($sql))
{
if (mysql_affected_rows() > 0 )
{
echo "Novost je uspješno uređena.";
} else {
echo "Novost nije izmjenjena.";
}
} else {
echo "Nastala je greška pri izmjeni vijesti<br />" . mysql_error();
}
}
?>
</body>
</html>

$err - varijabla koja nam služi kao "zastavica" koja govori da li su podaci uspješno pribavljeni iz baze te da li je sigurno prikazati formu. Ako je zastavica dignuta ($err=true) nešto ne valja te formu ne prikazujemo. Ako je spuštena ($err=false) sve je u redu. Na početku skripte moramo stvoriti zastavicu u spuštenom stanju jer na početku skripte još nije ništa krivo.



_________________________

Autor ovog tutorijala: Leviathan

Copyright - Tutorijali.Net 2006 - 2012