• 11-11-2009, 05:40:22
    #1
    Üyeliği durduruldu
    soru şu şekilde,

    ID mantığı ile veri ekleniyor db'ye. ancak, diyelim yanlış veri eklendi ve ben bunun güncellenmesini yada silinmesini nasıl sağlayabilirim.

    Silinecek içeriğin idsini giriniz. | id yazılacak text alanı | sil butonu ( SİL butonuna tıklasın ve girdi databaseden silinsin )

    güncellemek için ise sanırım gene mysql update kullanacağız. Ancak nasıldır kullanımı?

    örnek kodu belirtirseniz daha faydalı olacak , teşekkürler şimdiden.
  • 11-11-2009, 06:04:05
    #2
    Üyeliği durduruldu
    elma tablosundan id nosu 1 olan veriyi siler;
    DELETE FROM elma WHERE id = '1'
    elma tablosunun id nosu 5'ten büyük olan verileri siler fakat limit 5 olduğu için, idnosu 5 ten büyük olan 50 tane bile veri varsa 5 taneyi sildikten sonra betik durur geri kalanları silmez.
    DELETE FROM elma WHERE id = '1' LIIMT 5
    elma tablosunun id nosu 5'ten büyük olan verileri siler
    DELETE FROM elma WHERE id > '5'
    elma tablosunun id nosu 5'ten küçük olan verileri siler
    DELETE FROM elma WHERE id < '5'
    elma tablosunun id nosu 5 ile 10 arasında olan verileri siler
    DELETE FROM elma WHERE id BETWEEN 5 AND 10
    elma tablosunun cins alanı "amasya" olan kayıt(lar)ı siler.
    DELETE FROM elma WHERE cins = 'amasya'
    elma tablosunun cins alanı "amasya" olmayan kayıt(lar)ı siler.
    DELETE FROM elma WHERE cins != 'amasya'
    elma tablosunun cins alanında "ekşi" kelimesi geçen kayıtları siler
    DELETE FROM elma WHERE cins LIKE '%ekşi%'

    UPDATE
    elma tablosundan id nosu 1 olan veri(ler)in cins alanını amasya yapar.
    UPDATE elma SET cins = 'amasya' WHERE id = '1'

    elma tablosundan id nosu 1 olan veri(ler)in cins alanını amasya yapar. limir 5 ile max. 5 işlem olarak sınırlandırılır.
    UPDATE elma SET cins = 'amasya' WHERE id = '1' limit 5
    örnekler çoğaltılabilir. ayrıca sdemirkeser hocam şurada videolu anlatmış http://www.programlamatv.com/ders/my...delete-komutu/

    update için ise;
    http://www.programlamatv.com/ders/my...update-komutu/
  • 11-11-2009, 13:29:55
    #3
    Üyeliği durduruldu
    Teşekkürler hocam ancak şu betikteki yazım yanlışı nedir ben çözemedim.

       <?php 
    
    $baglan = mysql_connect("localhost","re_user33","888377");
    mysql_query("SET NAMES 'latin5'");
    mysql_query("SET CHARACTER SET latin5");
    mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'"); 
    if (!$baglan)
      {
      die('Baglanamadim be abi: ' . mysql_error());
      }
    mysql_select_db("re_sl5", $baglan);
    if(!intval($_POST['id'])){
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method='post'>
    Silinecekk içeriğin idsini giriniz :&nbsp;<input type="text" name="id">&nbsp;<input type="submit" value="Sil" ></form>';
    }else{
    $idn = intval($_POST['id']);
    $sil = mysql_query("DELETE FROM Icerik WHERE id = '$idn'");
    if($sil){
    echo "<script>alert('$idn Numaralı kayıt başarılı şekilde silinmiştir.');window.location='".$_SERVER['PHP_SELF']."'</script>";
    }else{
    echo "<script>alert('$idn Numaralı kayıt Silinemedi');window.location='".$_SERVER['PHP_SELF']."'</script>"; 
    }
    } 
    mysql_close($baglan);
    ?>
  • 11-11-2009, 13:41:35
    #4
    Üyeliği durduruldu
    IN de kullanılanilabilir, mesela .
    delete from icerik where id in (1,2,3,44,55,787,908);
  • 11-11-2009, 13:43:03
    #5
    Üyeliği durduruldu
    hata satir 13 de:
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">

    'post' >>> "post" yap


    ayrica php yazarken ZEND Studio Kullan 5.5 yeterli olur , bu tip yazım hatalarını anında görürsün.
  • 11-11-2009, 14:09:56
    #6
    Üyeliği durduruldu
    KaleSoft adlı üyeden alıntı: mesajı görüntüle
    IN de kullanılanilabilir
    http://www.programlamatv.com/ders/my...-in-deyimleri/
    önemli olan where kistasinda bir yapi ile silinecek olan kayitlari belirlemenizde yatiyor. Herhangi bir kriter vermezseniz tüm tabloyu boşaltmış olursunuz
  • 11-11-2009, 14:18:27
    #7
    Üyeliği durduruldu
    cevaplar için teşekkürler hocam programı indiriyorum ayrıca dediğini züzre sorun çift tırnakta imiş.

    bir diğeri , sizin verdiğiniz linkede tıkladım evet sanırım konuyu komple boşaltacağm durum. faydalaı çneriler için teşekkürler .
  • 12-11-2009, 16:15:18
    #8
    Üyeliği durduruldu
    Delete'den ziyade alanları UPDATE ettirmek içinse için ise gene aynı mantıkmı kullanılmalı ?
  • 12-11-2009, 16:25:48
    #9
    toprak_ adlı üyeden alıntı: mesajı görüntüle
    Delete'den ziyade alanları UPDATE ettirmek içinse için ise gene aynı mantıkmı kullanılmalı ?
    update etmek istediğin alanları belirtebilirsin şu şekilde;
    mysql_query("update tablo set Alan= '$Veri' where id = '$id'");
    Ayrıca bu tarz bilgiler için php.net çok daha faydalı olabilir