mysql

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.

Hiç durma, hemen paylaş ;-)

    10 Yorum

    1. Kuleli

      07.28.2010

      Cevapla

      // 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

        Cevapla

        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.

    2. imsak

      07.29.2010

      Cevapla

      teşekkürler cok faydalı oldu

    3. Kuleli

      07.29.2010

      Cevapla

      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..

    4. Qürcan

      11.24.2010

      Cevapla

      gerçektende çok faydası oldu…:)

    5. Aybars

      02.25.2011

      Cevapla

      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

        Cevapla

        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.

    6. Sinan ARSLAN

      07.24.2011

      Cevapla

      Çok teşekkür ederim çok faydalı olmuş ve çok işime yaradı 10 numarasınız (:

    7. seer Kanbul

      05.05.2012

      Cevapla

      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

    8. salih

      12.07.2012

      Cevapla

      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

    Bir Cevap Yazın