gelen idlere eşdeğerleri Toplama
sepet tablosunda
id | uyeID | hizmetID |
---|---|---|
1 | 200 | 1,2 |
2 | 200 | 3,4 |
3 | 201 | 1,2,3,4 |
paket tablosu
id | adi | fiyat |
---|---|---|
1 | paket 1 | 200 |
2 | paket 1 | 100 |
3 | paket 1 | 500 |
4 | paket 1 | 450 |
$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ü.
@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
id | uyeID | hizmetID |
---|---|---|
1 | 200 | 1,2 |
2 | 200 | 3,4 |
3 | 201 | 1,2,3,4 |
4 | 200 | null |
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].")";
}