Veritabanındaki Kayıtları Düzenleme
Veri kayıt etme, veri listeleme konularından sonra veritabanında sakladığımız verileri düzenleme konusuna geldik. Aynı tablo yapısı üzerinden anlatmaya devam edeceğiz. MySQL’de düzenleme işlemi UPDATE komutuyla gerçekleşmektedir. Öncesinde düzenleyeceğimiz kayıtı seçerek göstermeli ve sonrasında düzenleme işlemini gerçekleştirmeliyiz.
İlk olarak düzenlemek istediğimiz kaydı seçelim;
// defter isimli tablomuzdan düzenleme amacıyla ID numarası 1 olan kaydı alalım.
<?PHP
$calistir = mysql_query("select * from defter where defter_id='1'") or die("Hata Olustu!");
$oku = mysql_fetch_assoc($calistir);
//düzenlenecek kaydı sayfamızda gösterelim;
?>
<form action="duzenle.php" method="post">
<input name="kayit_id" type="hidden" value="<?PHP echo $oku['defter_id']; ?>" />
<label>İsim :<input type="text" name="isim" id="isim" value="<?PHP echo $oku['defter_isim']; ?>" /></label>
<label>Soyisim :<input type="text" name="soyisim" id="soyisim" value="<?PHP echo $oku['defter_soyisim']; ?>" /></label>
<label><input type="submit" name="button" id="button" value="Düzenle" /></label>
</form>
Formumuzda ilgili alanlara, bilgileri yazarak sayfada göstermiş oluyoruz ve formun içerisine düzenlenecek olan kayda ait ID numarasını hidden field ile yerleştiriyoruz. Sonrasında istediğimiz düzenlemeleri yaptıktan sonra formumuzu duzenle.php’ye gönderiyoruz.
Düzenleme işlemi, duzenle.php sayfasında gerçekleşecektir.
<?PHP
//formdan gelen bilgileri alalım. Ayrıntılı bilgi : http://www.phpdili.com/php/php-ile-form-degiskenlerine-erisim.html
$duzenlenecek_id = $_POST['kayit_id'];
$isim = $_POST['isim'];
$soyisim = $_POST['soyisim'];
//veritabanında düzenleme işlemine geçelim.
$duzenle = mysql_query("update defter set defter_isim='$isim', defter_soyisim='$soyisim' where defter_id='$duzenlenecek_id'") or die("Hata Olustu!");
if($duzenle)
{
echo 'Düzenleme işlemi başarıyla gerçekleşmiştir.';
}
?>
MySQL veritabanında kayıtlı bilgilerin web üzerinden PHP ile düzenleme işlemi genel itibariyle bu şekildedir.








10 Yorum
Kuleli
07.28.2010
// defter isimli tablomuzdan düzenleme amacıyla ID numarası 1 olan kaydı alalım.
Üstteki bu kod ayrı bir sayfamıdır?Bunun bir adı varmı acaba ??Sitenizdekileri denemeye çalışıyorumda..
Oldukça güzel anltamışsınız..Ama yukarıdaki bölüm kafamı karıştırdı..Genelde düzenle sayfası
tek oluyordu galiba sizde üstte 2 bölüm görünce kafam karıştı…
Bu arada website bölümünü doldurmadan mesaj atamadım..
phpdili
07.29.2010
Daha net anlaşılması açısından 2 ayrı sayfa olarak göstermeye çalıştım fakat bunu yazıda net bir şekilde belirtmeyi unutmuşum. Üstte gördüğünüz kod bloğunda yaptığımız olay, düzenlemek istediğimiz kaydı seçip form içinde ekranda göstermek. Düzenlenecek kaydın bilgilerini gösterdikten sonra, form üstünde değişiklikleri yaparak, formun action parametresinde gördüğümüz gibi duzenle.php sayfasına postalıyoruz yeni bilgileri. Alttaki kod bloğu duzenle.php sayfasına ait, o sayfada da gönderdiğimiz yeni bilgileri alıp güncelleme işlemini gerçekleştiriyoruz.
imsak
07.29.2010
teşekkürler cok faydalı oldu
Kuleli
07.29.2010
Teşekkürler
Adım adım yapmanız iyi olmuş.. Güncelleme olayını form üzerinde anlatan yazı bulmak zor oluyorda ….
İyi oldu sitenizi görmem..Kolay Gelsin..
Qürcan
11.24.2010
gerçektende çok faydası oldu…:)
Aybars
02.25.2011
where defter_id=’1′ dedik burda da ben 1 değil 2 yi değiştirmek istiyorum diyelim yada değiştireceğim id yi form ile belirlemek istiyorum o halde o kısımda
$id = $_POST['secilen_id'] ile başka bi formdan girdiğim değeri değişken atayıp
where defter_id=’1′ yerine where defter_id=’$id’ yapsam olmazmı? bence olmaz neen olmaz çünkü yaptım olmadı
Peki nasıl yapılabilir bu? Teşekürler
phpdili
02.28.2011
Eğer burada yazdığınız gibi $id=$_POST['secilen_id'] yazdıysanız çalışmaz. Çünkü kodun sonunda ; yok. $id=$_POST['secilen_id']; şeklinde olması gerek. Sql komutuna geçmeden önce, echo $id; komutuyla id’nin post ile gelip gelmediğini kontrol edin veya sql komutunda die(“Hata Olustu!”) kısmını die(mysql_error()) olarak değiştirerek aldığınız hataya bakarak çözüme ulaşabilirsiniz.
Ayrıca sadece post metodunu değil, get metodunu da kullanabilirsiniz. sil.php?id=2 yapıp, $id=$_GET['id']; yaparak adres satırındaki id’yi elde edebiliriz.
Sinan ARSLAN
07.24.2011
Çok teşekkür ederim çok faydalı olmuş ve çok işime yaradı 10 numarasınız (:
seer Kanbul
05.05.2012
Verilerin güncellenmesinde textfield içinde yazılanları forma çekiyorum ancak bir grup radio buton olduğunda değerleri nasıl çektirebiliriz küçük bir örnekle yardım edebilir misiniz?
Full Paper:
Wait
OK
Send Again
Wrong Format
salih
12.07.2012
selamlar bu sorguda değişken tanımlarını değilde veritabanındaki değiştirilecek alanı bir önceki sayfadan gelen post bilgilerine göre değişken yapamazmıyız mesela
gibi
Sonuç bulunamadı.