v2.5.2
Giriş yap

gelen idlere eşdeğerleri Toplama

acemi
298 defa görüntülendi

sepet tablosunda

iduyeIDhizmetID
12001,2
22003,4
32011,2,3,4

paket tablosu

idadifiyat
1paket 1200
2paket 1100
3paket 1500
4paket 1450
    $data = "";
    $kdv = "";
    $Guncel = db->prepare("SELECT * FROM sepet WHERE userID=?");
    $Guncel->execute([$Ses->session("ID"))]);  // 200 diye farz edelim.
    foreach($Guncel->fetchAll(2) as $row):
    
        $cc = 0;
        $dd = $db->query("SELECT SUM(fiyat) as totalsa FROM ekhizmet WHERE id IN (".$row["hizmetID"].")")->fetchALL(2);
        $data .= $cc += $dd[0]["totalsa"]; // 300 950
        
        $kdv .= ($cc * ORAN) /100;
    
    endforeach; 
   
       $sayfa = array(
           "data" => $data,
           "kdv" => $kdv
       );
   json_encode($sayfa);
   

sepetteki hizmetID ile eşleşen kayıtların toplamını bir türlü malamıyorum
1 tane içerik varken 1 tane topluyor sorun yok
fakat 2. içeriği eklediğimde ayrı ayrı toplama yapıyor
sonuc 300 950 değil 1250 olarak almak istiyorum yapamadım bir türlü.

acemi
720 gün önce

@abdullahx

valla teşekkür ederim Abdullah
sorunsuz çalıştı fakat bu sefer bir detay kaldı :)
oda benim hatam kusuruma bakma düşünemedim o kısmı.
sepetteki ürünün hizmetID boş ise if ile count öncesi işlem yaptırdım oda yemedi bu seferde ilk gelen id nin kileri topladı gerisini toplamadı
!empty(hizmetID) yaptım count içine alarak dediğim gibi bu sefer de sadece ilk gelen veriyi topladı.
sepet söyle ise

iduyeIDhizmetID
12001,2
22003,4
32011,2,3,4
4200null

boş değer olunca getTotal bölümünde hata veriyor.

derken bu şekilde hallettim şuanlık bir sorun gözükmüyor teşekkür ederim tekrardan kardeşim aklına sağlık.
trabzona gelince çayını içerim yazın :) bu kadar yardımdan sonra birde çay ısmarlatayım rizeli olarak tammdır :)

    $extraString = ''; 
    if (count($query) > 1) {
        for ($i = 1; $i < count($query); $i++)
        if($query[$i] != null)
                $extraString .= " UNION SELECT SUM(fiyat) FROM ekhizmet WHERE id IN (".$query[$i].")";
    }