• 26-09-2009, 18:26:49
    #1
    Arkadaşlar aşağıdaki kodda görüldüğü gibi bir veriyi silmek istiyorum ama malesef silmiyor. Kodda bir sorun var ama çözemedim. Yardım edebilirseniz çok sevinirim. Şimdiden çok teşekkür ederim.


    $res = query("SELECT COUNT(*) FROM `log` WHERE `userid`=$user AND `aid`=$_POST[ID]");
    		list($total_row) = mysql_fetch_array($res);
    
    		if( ($total_row<1) ) {
    			$res = query("DELETE FROM `log` WHERE `userid`=$user AND `aid`=$_POST[ID]");
    		}
  • 26-09-2009, 18:33:33
    #2
    if( ($total_row<1) ) {

    1 den küçükse sil demişsiniz.
    if( ($total_row>1) ) {

    şeklinde deneyin
  • 26-09-2009, 18:42:27
    #3
    Ama şöyle bir durum var, üyenin 10 tane kalemi var 5 tanesini satmak istiyor, kalan 5 1 den büyük olduğu için onlarıda siliyor. Kodu buraya eklemeden önce onuda denemiştim. Ama üye 5 kalemi silmek istediğinde kalan 5 kalemde üyenin isteği dışında siliniyor.
    Ayrıca bu şekillerde de denedim fakat değişen bişey olmadı. Ya hiç silmiyor yada silince hepsini siliyor;
            if( ($total_row==0) ) {
                $res = query("DELETE FROM `log` WHERE `userid`=$user AND `aid`=$_POST[ID]");
            }  
    ///////////////////////////////////////////////////////////
            if( !($total_row>0) ) {
                $res = query("DELETE FROM `log` WHERE `userid`=$user AND `aid`=$_POST[ID]");
            }  
    ///////////////////////////////////////////////////////////
  • 26-09-2009, 19:16:56
    #4
    Ne yapmaya çalıştığınızı anlayamadım ama sonuç sayısının o şekilde kullanılması size fayda sağlamaz.

    $res = query("DELETE FROM `log` WHERE `userid`=$user AND `aid`=$_POST[ID] LIMIT 1");

    dersiniz ve 1 tane siler. Eğer istediğiniz 1 tane silinmesi ise
  • 26-09-2009, 19:27:17
    #5
    İstediğimi şöyle anlatayım, benim 10 kalemim var, profilimde bu 10 kalem görünüyor, ben bunların hepsini sattığımda ise haliyle 0 kalem kalıyor, ben bunun profilimde görünmesini istemiyorum. Eğer ben elimdekileri sattıktan sonra 0 kalıyorsa DB den silinsin istiyorum. fakat bir türlü beceremedim. Burada da sonuç bulamazsam mysql biraz fazla yorulacak maalesef
  • 26-09-2009, 22:30:39
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    suskunduygular adlı üyeden alıntı: mesajı görüntüle
    İstediğimi şöyle anlatayım, benim 10 kalemim var, profilimde bu 10 kalem görünüyor, ben bunların hepsini sattığımda ise haliyle 0 kalem kalıyor, ben bunun profilimde görünmesini istemiyorum. Eğer ben elimdekileri sattıktan sonra 0 kalıyorsa DB den silinsin istiyorum. fakat bir türlü beceremedim. Burada da sonuç bulamazsam mysql biraz fazla yorulacak maalesef
    Arkadaşım söylediğini yanlış anlamadıysam, kurduğun mantık hatalı o zaman. Çünkü silinmesini istiyorsan, Satma işlemi gerçekleştiğinde sileceksin veya misal satıldı diye bir alan ekleyip onu update edeceksin.

    Eğer öncesi hakkında da bilgi verirsen yardımcı olmaya çalışırız.
  • 26-09-2009, 23:23:44
    #7
    Merhaba metadige,
    Silinmesini şöyle istiyorum; eklediğim kod verinin güncellenmesinden sonraki kod,
    mantığını şöyle anlatayım.

    //////////////////////////////////////////////////////////////////
    bendeki kalem sayısı = 10
    eğer bendeki kalemlerden sattıktan sonra elimde kalan kalem sayısı 0 dan büyük ise veriyi güncelle ; (buraya kadarı tamam)
    ama değilde 0 a eşit ise o veriyi sil; ( burada takılıyorum )

    //////////////////////////////////////////////////////////////////
  • 26-09-2009, 23:39:28
    #8
    suskunduygular adlı üyeden alıntı: mesajı görüntüle
    Merhaba metadige,
    Silinmesini şöyle istiyorum; eklediğim kod verinin güncellenmesinden sonraki kod,
    mantığını şöyle anlatayım.
    //////////////////////////////////////////////////////////////////
    bendeki kalem sayısı = 10
    eğer bendeki kalemlerden sattıktan sonra elimde kalan kalem sayısı 0 dan büyük ise veriyi güncelle ; (buraya kadarı tamam)
    ama değilde 0 a eşit ise o veriyi sil; ( burada takılıyorum )
    //////////////////////////////////////////////////////////////////

    Arkadaşım demin de onu söylemeye çalışıyordum. Bu şekilde bir yol izlemek hatalı olur. Şu şekilde ilerlemen gerekir:

    1- bendeki kalem sayısı = 10

    2- bendeki kalemleri satıldı diyelim ki 3 adet (İşte güncellemeyi burada yapacaksın, yani satılığı anda, istersen satılanın adetini düşersin, istersen ayrı bir alan açıp şu kadar satıldı diye güncellersin, daha sonra kontrol için)

    bu şekilde yaparsan zaten sonradan elinde satılıp satılmayan kalem belli olur, ayrıca bir işlem yapmana gerek yok demek istiyorum.
  • 27-09-2009, 00:21:41
    #9
    Teşekkür ederim metadige birde senin dediğin gibi deniyim.

    İyi Çalışmalar