İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

mysql den bu sonuç için nasıl sorgu yapılır?

Tutaste

0
İyinet Üyesi
Katılım
7 Kasım 2012
Mesajlar
160
Reaction score
0
Elimde böyle bir tablo var
Stok durumu 1 stokta var demektir, 0 ise stokta yok demektir
PHP:
  ID        marka               tipi              girisi      cikisi          stok_durumu          fiyati
  1         next                SONLU                8          8                 0                   10
  2         sunny               KASKAD               9          12                1                   12
  3         tekniksat           KASKAD              10          16                1                   15
  4         fagor               SONLU               14          20                0                   20
  5         wisi                SONLU               17          24                1                   25
  6         next                KASLAD              12          32                0                   30



$giris_sayisi=10; // bu yukarıdaki tablodaki girişi için istenen değer

$cikis_daire_sayisi=?; // 29,30,31 ve 32 sayılar için // buda yukarıdaki tablodaki cikisi için istenen değer
Not: 29,30,31 ve 32 sayıları 32 sayı olarak baz alınıyor

Aşağıdaki örnekler şartlar kesindir yanı başka olası seçenek yok hepsi bu kadar ve bu sıraya göre öncelik vererek sorgu yapacak Stokta Yoksa dediğimizde bir üstündeki yoksa demektir

Not: aşağıdaki koşuldaki sayılar 8,12,16,20,24,32 bunlar standarttır kod içinde kullanılabilir, KASKAD ve SONLU kelimelerde standarttır kod içinde kullanılabilir

32çıkışlı SONLU
Stokta Yoksa 16+16=32 biri KASKAD diğeri SONLU
Stokta Yoksa 24+8=32 biri KASKAD diğeri SONLU
Stokta Yoksa 20+12=32 biri KASKAD diğeri SONLU
Stokta Yoksa 12+12+8=32 ikisi KASKAD biri SONLU
Stokta Yoksa 16+8+8=32 ikisi KASKAD biri SONLU
Stokta Yoksa 8+8+8+8=32 üçü KASKAD biri SONLU
Stokta Yoksa 24+12=36 biri KASKAD diğeri SONLU
Stokta Yoksa 20+16=36 biri KASKAD diğeri SONLU
Stokta Yoksa 20+8+8=36 ikisi KASKAD biri SONLU
Stokta Yoksa 16+12+8=36 ikisi KASKAD biri SONLU
Stokta Yoksa 12+8+8+8=36 üçü KASKAD biri SONLU
Stokta Yoksa 32+8=40 biri KASKAD diğeri SONLU
Stokta Yoksa 20+20=40 biri KASKAD diğeri SONLU
Stokta Yoksa 24+16=40 biri KASKAD diğeri SONLU
Stokta Yoksa 24+8+8=40 ikisi KASKAD biri SONLU
Stokta Yoksa 16+12+12=40 ikisi KASKAD biri SONLU
Stokta Yoksa 16+8+8+8=40 üçü KASKAD biri SONLU
Stokta Yoksa 12+12+8+8=40 üçü KASKAD biri SONLU
Stokta Yoksa 8+8+8+8+8=40 üçü KASKAD biri SONLU
Stokta Yoksa “Ürün mevcut değil”

Benim istediğim sonuç şöyle olacak
örnek ilk sıradaki "32çıkışlı SONLU" stokta varsa ID numarası ve ADET

Diğer bir örnek vereyim
Stokta bu "20+8+8=36 ikisi KASKAD biri SONLU" var diyelim
şimdi burada ikisi KASKAD biri sonlu olacak ya hangisi SONLU olmuş, hangisi KASKAD olmuş hiç önemli değil yeterki stokta olsun ama şöyle bir senaryo yazalım 20 SONLU yok ama KASKAD var, olsun iki tane 8li var biri SONLU biri KASKAD yaparız olur biter. YADA 8lilerden SONLU yok olsun KASKAD var 20li SONLU varsa zaten sınıfı geçiyor

sonuç olarakta iki değer lazım bana ID ve miktar ama örnek ikitane 8li varya biri KASKAD diğer SONLU verdik ise buna 8li iki adet demeyeceğiz çünkü biri KASKAD biri SONLU ama ikiside KASKAD veya SONLU olsa iki adet verebiliriz

Böyle birşey nasıl bir sorgu olur?
 

metadige

0
İyinet Üyesi
Katılım
23 Aralık 2005
Mesajlar
354
Reaction score
4
Bunu direk mysql den halletmeniz çok zor. Önce sql den stokta olanları alıp php ile bir döngüye sokup gerekli hesaplamaları yapmanız gerekli.
Yani sql den stokları alacaksınız türüne göre ve kaskad ve sonlu diye birer array oluşturup ona atacaksınız, size çıkışları verecek şekilde.

Daha sonra ihtimalleri hesaplatacaksınız. En yaklaşık sonuçlu ihtimal hangisi ise program size onu verecek.
Önce dizide ki kaskad ve sonlular tek tek toplanacak, sonuç bulunmazsa, bir sonlu, gerektiği kadar kaskad vs. diye.
Uzun lafın kısası ha deyince olacak bir şey değil. Bayağı bir ihtimal hesaplaması yapılması lazım.
 

Tutaste

0
İyinet Üyesi
Katılım
7 Kasım 2012
Mesajlar
160
Reaction score
0
Bunu ücretli olarak yazacak arkadaşlar olursa yazdırmak istiyorum
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst