• 11-02-2013, 18:32:36
    #1
    function StokFiyatGetir($StokKodu, $SiparisFiyati)
    {
    $StokFiyatGetir = mssql_query("SELECT * FROM STOK_SATIS_FIYAT WHERE StokKodu ='$StokKodu '");
        
        while ($stok_kodgel = mssql_fetch_array($StokFiyatGetir))
        {
            
            $MStok = $stok_kodgel['SatisFiyati'];
            if ($MStok == $SiparisFiyati)
            {
                echo "Esit"
            } 
            else{
                echo "EsitDegil"
            }
        }
    
    }
    Yukarıdaki fonksiyonla şunu yapmak istiyorum.

    SQL sorgumdan 4 tane satış fiyatı Geliyor sipariştende bir satış fiyatı geliyor.
    Yani ortaya çıkan sonuç şu oluyor

    Siparişten gelen Satış fiyatı: 100 Tl oldugunu varsayalım.
    Stok Satış fiyarındanda 50,60,70,100 Geldigini varsayalım.
    Sonuç olarak

    örn1:
    100 == 50 EsitDegil
    100 == 60 EsitDegil
    100 == 70 EsitDegil
    100 == 100 Esit

    örn2:
    100 == 50 EsitDegil
    100 == 100 Esit
    100 == 70 EsitDegil
    100 == 60 EsitDegil

    Sonucu çıkıyor bana sadece Eşit'se tek bir sonuç döndürmesini istiyorum. Bunu nasıl yapabilirim.
  • 11-02-2013, 18:37:45
    #2
    if($a != $b) şeklinde yapabilirsiniz
  • 11-02-2013, 19:10:48
    #3
    Üyeliği durduruldu
    function StokFiyatGetir($StokKodu, $SiparisFiyati) 
    { 
    $StokFiyatGetir = mssql_query("SELECT * FROM STOK_SATIS_FIYAT WHERE StokKodu ='$StokKodu '"); 
         
        while ($stok_kodgel = mssql_fetch_array($StokFiyatGetir)) 
        { 
             
            $MStok = $stok_kodgel['SatisFiyati']; 
            $esitlik="bir";
            if ($MStok == $SiparisFiyati) 
            { 
                echo "Esit";
            }  
            else{ 
            if($esitlik="bir") {
                echo "EsitDegil";
                $esitlik="";
            }
            } 
        } 
    
    }
    anladığım gibi birşey istiyorsanız, böyle birşey işinizi görebilir belki
  • 11-02-2013, 23:37:38
    #4
    Üyeliği durduruldu
    Bu fonksiyondan elde etmek istediğiniz sonuç nedir? Eğer gelen sipariş tutarına eşit olarak bir stok kaydını kontrol edecekseniz tek bir sorgu gönderirsiniz, böyle bir kayıt varsa eşit sonucunuz vardır, yoksa eşit sonucunuz yoktur. Sorgu şu şekilde güncellenip satır sayısını alırsanız bahsettiğim şey için yeterlidir;

    SELECT * FROM STOK_SATIS_FIYAT WHERE StokKodu ='".$StokKodu."' AND SiparisFiyati = '".$SiparisFiyati."'"
  • 13-02-2013, 09:57:07
    #5
    ChatLakTurK adlı üyeden alıntı: mesajı görüntüle
    function StokFiyatGetir($StokKodu, $SiparisFiyati) 
    { 
    $StokFiyatGetir = mssql_query("SELECT * FROM STOK_SATIS_FIYAT WHERE StokKodu ='$StokKodu '"); 
         
        while ($stok_kodgel = mssql_fetch_array($StokFiyatGetir)) 
        { 
             
            $MStok = $stok_kodgel['SatisFiyati']; 
            $esitlik="bir";
            if ($MStok == $SiparisFiyati) 
            { 
                echo "Esit";
            }  
            else{ 
            if($esitlik="bir") {
                echo "EsitDegil";
                $esitlik="";
            }
            } 
        } 
    
    }
    anladığım gibi birşey istiyorsanız, böyle birşey işinizi görebilir belki
    Yorumunuz için teşekkürler.

    Esit
    EsitDegil
    EsitDegil

    Bu şekil bir çıktı verdi. Bana sadece Eşitse tek döngü içinde tek satır vermesini istiyorum yani hepsini tarayıp bir tane içinde eşit varsa duracak bana eşit diyecek.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 09:57:07 -->-> Daha önceki mesaj 09:54:57 --

    PuMaX adlı üyeden alıntı: mesajı görüntüle
    Bu fonksiyondan elde etmek istediğiniz sonuç nedir? Eğer gelen sipariş tutarına eşit olarak bir stok kaydını kontrol edecekseniz tek bir sorgu gönderirsiniz, böyle bir kayıt varsa eşit sonucunuz vardır, yoksa eşit sonucunuz yoktur. Sorgu şu şekilde güncellenip satır sayısını alırsanız bahsettiğim şey için yeterlidir;

    SELECT * FROM STOK_SATIS_FIYAT WHERE StokKodu ='".$StokKodu."' AND SiparisFiyati = '".$SiparisFiyati."'"
    Yorumunuz için teşekkürler.

    SQL tarafında çalışması poerformansı düşürürmü acaba. Birde bu sorguda then gibi bir şey yapıp 0 yada 1 mi göndürmem lazım. bunu nasıl yaparım.


    Olayın espirisi şu: Eğer fiyatlar eşitse onaya gitmeyecek eğer fiyat eşit degilse yani kullanıcı kafasından fiyat girdiyse onaya gidecek.
  • 13-02-2013, 10:26:18
    #6
    Developer
    <?php
    function StokFiyatGetir($StokKodu, $SiparisFiyati) 
    { 
        $StokFiyatGetir = @mssql_query("SELECT `SatisFiyati` FROM `STOK_SATIS_FIYAT` WHERE `StokKodu` ='{$StokKodu}'"); 
        
        if(!$StokFiyatGetir)
        {
            return FALSE;
        }
        
        while ($stok_kodgel = @mssql_fetch_array($StokFiyatGetir)) 
        {
            if ($stok_kodgel['SatisFiyati'] == $SiparisFiyati) 
            { 
                return TRUE;
            }
        }
        return FALSE;
    }  
    ?>
    if(StokFiyatGetir(xxxx,xxx)){ fiyatlar esit }else{fiyatlar esit degil }
  • 13-02-2013, 11:14:56
    #7
    FastPHP adlı üyeden alıntı: mesajı görüntüle
    <?php
    function StokFiyatGetir($StokKodu, $SiparisFiyati) 
    { 
        $StokFiyatGetir = @mssql_query("SELECT `SatisFiyati` FROM `STOK_SATIS_FIYAT` WHERE `StokKodu` ='{$StokKodu}'"); 
        
        if(!$StokFiyatGetir)
        {
            return FALSE;
        }
        
        while ($stok_kodgel = @mssql_fetch_array($StokFiyatGetir)) 
        {
            if ($stok_kodgel['SatisFiyati'] == $SiparisFiyati) 
            { 
                return TRUE;
            }
        }
        return FALSE;
    }  
    ?>
    if(StokFiyatGetir(xxxx,xxx)){ fiyatlar esit }else{fiyatlar esit degil }

    Üstat eline sağlık hızır gibi yetiştin bana

    if(!$StokFiyatGetir)
        {
            return FALSE;

    Hayat kurtarır.