• 18-08-2019, 00:22:30
    #1
    böyle dünyalar tatlısı bir kodum var ben post ile veri yollayınca yolladığım verileri database'e insert yapıyor ama ben şöyle olsun istiyorum örneğin eğer veritabanında adı soyadı olarak yolladığım değer varsa örneğin ahmet olsun, veritabanında ahmet varsa ahmetin skor durumunu +1 olacak şekilde arttırsın. eğer yoksa hiçbir şey yapmasın insert felan da olmasın. bunu o şekilde değiştirebilecek var mı ben türlü yöntem denedim ama beceremedim bir türlü

    <?php
    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Credentials: true");
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token , Authorization, X-Requested-With');
    
    
    
    require_once 'baglan.php';
    
    // if (isset($_POST)) {
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $arr = json_decode(file_get_contents('php://input'), true);
    
    $kaydet=$db->prepare("INSERT into oyuncular SET
    adi_soyadi=:adi_soyadi,
    skor_durumu=:skor_durumu
    ");
    
    
    
    $insert=$kaydet->execute(array(
    
    // oyuncunun adı
    'adi_soyadi' => $arr['adi_soyadi'],
    // skor durumu
    'skor_durumu' => $arr['skor_durumu']
    
    ));
    
    }
    
    // }
    
    ?>
  • 18-08-2019, 00:25:29
    #2
    Platin üye
    Merhaba Post ettiğin değeri önce veritabanında ararsın eğer varsa o alanı update ile arttırır yoksa ise insert edersin. Yani sorgun gönderdiğin postun if elsesi olacak bu kadar.
  • 18-08-2019, 00:28:16
    #3
    <?php
    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Credentials: true");
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token , Authorization, X-Requested-With');
    
    
    
    require_once 'baglan.php';
    
    // if (isset($_POST)) {
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $arr = json_decode(file_get_contents('php://input'), true);
    
    
    $sor=$db->prepare('SELECT * FROM oyuncular WHERE adi_soyadi=?);
    $sor->execute(array($arr['adi_soyadi']));
    $varmi=$sor->rowCount();
    
    if($varmi):
    $cek=$sor->fetch(PDO::FETCH_ASSOC);
    $guncelle=$db->prepare('UPDATE oyuncular SET skor_durumu=skor_durumu+1 WHERE adi_soyadi=?)
    $guncelle->execute(array($cek['adi_soyadi]));
    else:
    
    $kaydet=$db->prepare("INSERT into oyuncular SET
    adi_soyadi=:adi_soyadi,
    skor_durumu=:skor_durumu
    ");
    
    
    
    $insert=$kaydet->execute(array(
    
    // oyuncunun adı
    'adi_soyadi' => $arr['adi_soyadi'],
    // skor durumu
    'skor_durumu' => $arr['skor_durumu']
    
    ));
    endif;
    }
    
    // }
    
    ?>
    kolay gelsin
  • 18-08-2019, 00:28:29
    #4
    OziyWeb adlı üyeden alıntı: mesajı görüntüle
    Merhaba Post ettiğin değeri önce veritabanında ararsın eğer varsa o alanı update ile arttırır yoksa ise insert edersin. Yani sorgun gönderdiğin postun if elsesi olacak bu kadar.
    abi mantık tarafında ben de facebooku baştan yazıyorum ama işte kodlama kısmına gelince anladın
  • 18-08-2019, 00:28:58
    #5
    INSERT command içerisinde ON DUPLICATE KEY UPDATE kullanabilirsiniz.
  • 18-08-2019, 00:41:45
    #6
    Üyeliği durduruldu
    <?php
    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Credentials: true");
    header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token , Authorization, X-Requested-With');
    
    
    
    require_once 'baglan.php';
    
    // if (isset($_POST)) {
    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $arr = json_decode(file_get_contents('php://input'), true);
    
        $eski_veri = $db->prepare("SELECT * FROM oyuncular adi_soyadi = ?");
        $eski_veri->execute(array($arr["adi_soyadi"]));
        if($eski_veri->rowCount() > 0)
        { $eski_yaz = $eski_veri->fetch(PDO::FETCH_ASSOC);
            $eski_yaz["skor_durumu"] += 1;
            $veri_guncelle = $db->prepare("UPDATE oyuncular SET skor_durumu = ? WHERE adi_soyadi = ?");
            $veri_guncelle->execute(array($eski_yaz["skor_durumu"],$eski_yaz["adi_soyadi"]));
            if($veri_guncelle)
            {
                echo "{$eski_yaz["adi_soyadi"]} İçin Skor Güncellendi";
            }
            else
            {
                echo "Teknik Arıza..";
            }
        }
        else
        {/*veri yok*/}
    
    
    }
    
    // }
    
    ?>
    İşleminiz için yeterli olacaktır, iyi çalışmalar dileriz.