• 31-12-2012, 17:17:57
    #1
    arkadaşlar sepet uygulaması yapıyorum da uyenin sepet sütununda urun idlerini giriorum 1,2,3,4,5 şekilde her eklediğinde update ile urun id i giriyorum oraya ama silme işlemini beceremedim? yani 1,2,3,4,5 id lerinden 3 numarayı silip 1,2,4,5 nasıl güncelleyebilirim databasede?
  • 31-12-2012, 17:21:59
    #2
    DELETE FROM nerden WHERE id IN(1,2,3,4,5) birden böyle silebilirsiniz foreach gerekmeden
  • 01-01-2013, 12:48:58
    #3
    sanirim derdimi yanlis anlattim
    -id-----ad----soyad----sepet
    -1-----xxx----xxxxx-----1,2,3,4


    tablo bu benim istegim 1 nolu id deki musterinin sepetinde bulunan 1,2,3,4 nolu urunlerden mesela 3u silmek


    musteri her sepete ekle dediginde urun idsini sepet sutununa X, seklinde ekliyor ama silme islemini nasil yaparim bilemedim?
  • 01-01-2013, 14:40:54
    #4
    ulast adlı üyeden alıntı: mesajı görüntüle
    sanirim derdimi yanlis anlattim
    -id-----ad----soyad----sepet
    -1-----xxx----xxxxx-----1,2,3,4


    tablo bu benim istegim 1 nolu id deki musterinin sepetinde bulunan 1,2,3,4 nolu urunlerden mesela 3u silmek


    musteri her sepete ekle dediginde urun idsini sepet sutununa X, seklinde ekliyor ama silme islemini nasil yaparim bilemedim?
    Inputu hidden verip valuesini ürün idini yazarsiniz mysql komutu ile silebilirsiniz
    <input type="hidden" name="urunid" value="<?php echo $urunid;?>">
    
    <?php
    $id=intval($_POST["urunid"]);
    if($_POST){
    $sil=mysql_query("DELETE FROM urunler WHERE id='$id'");
    }
    ?>
  • 01-01-2013, 15:44:44
    #5
    sepet alanı nedir? varchar mıdır?

    ya mysql replace kodu ile sileceksin.
    ki 10 dan fazla ürün oldu mu sepette arıza çıkarabilir mysql replace işinde.

    ya da php ile sepeti alacaksın, explode ile parçalayıp elemanları dizi yapacaksın. ve silinecek elemanı kaldırıp, implode edip database e tekrar yazacaksın.
  • 01-01-2013, 18:30:20
    #6
    session kullanıcaz yani sepet sistemi yapmak istemistim db e baglı ama yapamadım herhalde
  • 01-01-2013, 21:15:38
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    veriyi virgüllerden ayırıp bir diziye atıp, diziden 3 değerini silebilirsiniz. daha sonra dizinin son halini veritabanına tekrar kaydedebilirsiniz.
  • 01-01-2013, 21:46:08
    #8
    _BuKi_ adlı üyeden alıntı: mesajı görüntüle
    veriyi virgüllerden ayırıp bir diziye atıp, diziden 3 değerini silebilirsiniz. daha sonra dizinin son halini veritabanına tekrar kaydedebilirsiniz.
    Kusura bakmazsani biraz ornekle aciklayabilirmisiniz mantigini anladim ama beceremedim
  • 01-01-2013, 21:57:33
    #9
    $deger = '1,2,3,4,5';
    $silinecek = '3';
    $dizi = explode(',',$deger);
    $dizison = array_diff($dizi,$silinecek);
    $sondeger = implode(',',$dizison);
    denemedim ama, olmazsa düzenleyebiliriz. bu tarz bi mantık kullanılabilir.

    ek olarak:
    array_diff kullandık, bu aslında silme işlemi değil iki dizinin birbirinden farkını buluyor. o nedenle şöyle bir düzenleme yapalım:

    $deger = '1,2,3,4,5';
    $silinecek = array('3');
    $dizi = explode(',',$deger);
    $dizison = array_diff($dizi,$silinecek);
    $sondeger = implode(',',$dizison);