Destek Veri güncelleme

Merhaba ben biraz uğraştım fakat tek bir buton için yapabildim diğer butonlara yapamadım, Geri çekildi butonuna tıkladımı veritabanında verinin 1 savunma 2 sonuçla 3 olmasını istiyorum hangi butona tıklarsa o veriyi almasını nasıl sağlarım güncelleme yaptım fakat uygun bir şart ekleyemedim yardımınız lazım

 

gurme_woo

Üyecik
Merhaba! bunu select box ile yapıp jquery ile $("#selectboxid").on("change",function(){
ajax pot ile her seçenek değiştiğinde yapabilirsin veya

$.post( "post edeceğin url", function( data ) {
$( ".result" ).html( data );
});
şeklinde veri tabanı ile ilişkilendirip tetikleyebilirsin !

})
 
PHP:
<?php
  session_start();

include 'db.php';

$id = 32;

try {
    $baglanti = new PDO("mysql:host=localhost;dbname=mod", "root", "");
    $baglanti->exec("SET NAMES utf8");
    $baglanti->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    if(isset($_POST["sav"])){
        $md5sifre = 1;

      if(empty($hata)){
        $sorgu = $baglanti->prepare("UPDATE sikayet SET s_durum = :psifre WHERE s_id = :pid");
        $sorgusonuc = array(':psifre'   =>  $md5sifre,
                            ':pid'      =>  $id
                            );
        $sorgucalistir = $sorgu->execute($sorgusonuc);
    
        if($sorgucalistir){
            $basari[] = "Başarılı bir şekilde şifrenizi değiştirdiniz.";
        }else {
            $hata[] = "Şifreniz değiştirilirken bir sorun oluştu.";
        }
      }
    }

    if(isset($_POST["sonuc"])){
        $md5sifre = 2;

      if(empty($hata)){
        $sorgu = $baglanti->prepare("UPDATE sikayet SET s_durum = :psifre WHERE s_id = :pid");
        $sorgusonuc = array(':psifre'   =>  $md5sifre,
                            ':pid'      =>  $id
                            );
        $sorgucalistir = $sorgu->execute($sorgusonuc);
    
        if($sorgucalistir){
            $basari[] = "Başarılı bir şekilde şifrenizi değiştirdiniz.";
        }else {
            $hata[] = "Şifreniz değiştirilirken bir sorun oluştu.";
        }
      }
    }

    if(isset($_POST["geri"])){
        $md5sifre = 3;

      if(empty($hata)){
        $sorgu = $baglanti->prepare("UPDATE sikayet SET s_durum = :psifre WHERE s_id = :pid");
        $sorgusonuc = array(':psifre'   =>  $md5sifre,
                            ':pid'      =>  $id
                            );
        $sorgucalistir = $sorgu->execute($sorgusonuc);
    
        if($sorgucalistir){
            $basari[] = "Başarılı bir şekilde şifrenizi değiştirdiniz.";
        }else {
            $hata[] = "Şifreniz değiştirilirken bir sorun oluştu.";
        }
      }
    }

} catch (PDOException $e) {
    die($e->getMessage());
}

$baglanti = null;
?>
Mesaj otomatik birleştirildi:

Kullandığım kod bu daha kısa bir hale gelebilirmi?
 

codescaptain

Üyecik
eğer anlık tetiklemek istiyorsan jquery veya türevlerini kullanman gerekiyor. Ben senin yerinde olsam arkadaşın dediği gibi yaparım. Hem jquery daha hızlı. Şuan belki localde çalıştığın için farketmedin ama emin ol jquery veya js türevlerini kullanmalısın
 
Üst