Selamun Aleyküm, Merhaba bu yazımda veritabanındaki tablodan kayıt düzeltmeyi / kayıt güncellemeyi anlatacağım. Veritabanı ile ilgili önceki konuları kategorilerdeki PHP kategorisinden okuyabilirsiniz.
Kayıt düzeltmek (sonradan kayda veri eklemek ya da kaydı deÄŸiÅŸtirmek) için update komutu kullanılır. Mysql_query içinde sorgumuzu yazarız.
mysql_query(“update tabloadı set deÄŸiÅŸtirilecek-kayıt”);
Yukarıdaki sorguda tabloadı yazan yere kayıt düzeltmek istediÄŸimiz tablonun adını yazıyoruz. DeÄŸiÅŸtirilecek-kayıt yazan yere ise hangi alanda deÄŸiÅŸiklik yapacaksak o alanı ve yeni deÄŸerini yazıyoruz. Yukarıdaki ÅŸekilde bir sorgu yazılır ve çalıştırılırsa tablodaki bütün kayıtların ilgili alanı deÄŸiÅŸtirilir. Bu ÅŸekilde tüm kayıtların alanını deÄŸiÅŸtirmeyi çok fazla kullanmayız. Bizim için önemli olan belirli bir kaydın alanında deÄŸiÅŸiklik yapmak. Belirli kayıtlarda düzeltme yapmak için where parametresiyle belirtmemiz gerekir.
mysql_query("update duyurular set baslik='yeni deÄŸer' where no=3");
Yukarıdaki sorguda kırmızı yazılan yerler bizim tarafımızdan verilen özelliklerdir. DiÄŸer yazılar ise komutlardır yerinde kullanılması gerekir. Yukarıdaki sorguyu açıklayacak olursak:
· duyurular yazısı kayıt düzeltmek istediÄŸim tablonun adıdır.
· no yazısı ise tablo içinde karşılaÅŸtırma yapacağım alanın/sütunun adıdır.
· ‘3’ ise no’su 3 olan kaydın düzeltileceÄŸini belirtir.
· Baslik yazısı kaydın hangi alanının deÄŸiÅŸtirileceÄŸini gösterir. Burada 3 nolu kaydın baÅŸlığını deÄŸiÅŸtiriyoruz.
· ‘yeni deÄŸer’ ise baÅŸlık alanına eklenecek yeni deÄŸerimizdir.
Yani sonuç olarak yukarıdaki sorgu duyurular tablosundaki no’su 3 olan kaydın baÅŸlığını yeni deÄŸer yapar.
Yukarıda bir alanın deÄŸiÅŸikliÄŸini gösterdim. Birden çok alanda deÄŸiÅŸiklik yapılacaksa diÄŸer alan ve deÄŸerleri aralarına virgül konularak yan yana yazılırlar. AÅŸağıdaki örneÄŸi incelersek;
mysql_query("update duyurular set baslik='yeni baÅŸlık',icerik='yeni içerik' where no=3");
Yukarıdaki alanlar ve deÄŸerleri arasına virgül konularak istenilen sayıdaki alanda deÄŸiÅŸiklik yapılabilir. Yukarıdaki komut duyurular tablosundaki no’su 3 olan kaydın baÅŸlığını yeni baÅŸlık, içeriÄŸini de yeni içerik yapar.
Örnekler çoÄŸaltılabilir.
DeÄŸiÅŸkene göre kayıt düzeltme:
Herhangi formdan post/get yöntemiyle veri geldiÄŸini ve bu veriye göre kayıt düzeltmek istiyorsak öncelikle gelen veriler deÄŸiÅŸkenlere alınır. Ben post metoduyla geldÄŸini varsayıyorum ve düzeltme yapılacak kaydın numarasını $duyuruno deÄŸiÅŸkenine, düzeltme yapılacak yeni baÅŸlık bilgisini de $duyurubaslik deÄŸiÅŸkenine alarak açıklıyorum.
Aşağıdaki kayitno ve yenibaslik bilgileri form elemanlarının id bilgileridir.
$duyuruno=$_POST[“kayitno”];
$duyurubaslik=$_POST[“yenibaslik”];
mysql_query("update duyurular set baslik='$duyurubaslik' where no=$duyuruno");
Sorgumuz duyurular tabosundaki no’su $duyuruno deÄŸerine eÅŸit olan kaydın baslik deÄŸerini $duyurubaslik deÄŸiÅŸkenindeki deÄŸerle deÄŸiÅŸtirir.
Temel olarak php’de veritabanındaki kayıtlar bu ÅŸekilde düzeltilmektedir. Sizler örnekleri çoÄŸaltarak ilerleyebilirsiniz.
Ä°lerleyen günlerde yeni derslerde görüÅŸmek ümidiyle saÄŸlıcakla kalınız.
Mustafa KARSLI Kaynak: www.mustafakarsli.com