<?php
$urun_toplam = 0;
$kargo_toplam = 0;
$kdv_toplam = 0;
if(@count($_SESSION['sepet']['key']) > 0){
foreach ($_SESSION['sepet']['key'] as $key) {
if(empty($_SESSION['sepet']['img'][$key])){
$urunquery = $db->prepare("SELECT * FROM urun where id=:id LIMIT 1");
$urun = $urunquery->execute(array(":id"=>$_SESSION['sepet']['urun_id'][$key]));
$urun = $urunquery->fetch(PDO::FETCH_ASSOC);
$urunimg = $db->prepare("SELECT * FROM urun_img where urun_id=:urun_id LIMIT 1");
$uimg = $urunimg->execute(array(":urun_id"=>$_SESSION['sepet']['urun_id'][$key]));
$uimg = $urunimg->fetch(PDO::FETCH_ASSOC);
$secenek = '';
$alt_secenek_fiyat = 0;
if($_SESSION['sepet']['secenek_id'][$key] !=0){
$alt_secenek = $db->prepare("SELECT * FROM urun_secenek_alt where id=:id LIMIT 1");
$as = $alt_secenek->execute(array(":id"=>$_SESSION['sepet']['secenek_id'][$key]));
$as = $alt_secenek->fetch(PDO::FETCH_ASSOC);
$ust_secenek = $db->prepare("SELECT * FROM urun_secenek where id=:id LIMIT 1");
$us = $ust_secenek->execute(array(":id"=>$as['urun_secenek_id']));
$us = $ust_secenek->fetch(PDO::FETCH_ASSOC);
$alt_secenek_fiyat = $as['fiyat'];
$secenek = '<div><span>'.$us['baslik'].':</span> <span>'.$as['baslik'].'</span></div>';
}
$urun['fiyat'] = $urun['fiyat'] + $alt_secenek_fiyat;
$urun_toplam += $_SESSION['sepet']['adet'][$key] * $urun['fiyat'];
$kargo_toplam += $_SESSION['sepet']['adet'][$key] * $urun['kargo_fiyati'];
$kdv_toplam += (($_SESSION['sepet']['adet'][$key] * ($urun['fiyat'])) * $urun['kdv']) / 100;
?>+'ları Kaldırdığımda Veya Ve Operatörlerini Kullandığımda Fiyat Ayrımı Yapmıyor
Şu Şekilde Anlatayım
2 Tane Ürün Ekle Sistemde
1 Ürün Varyantsız Varyantsız Ürünü Eklediğimde 0 TL Gözüküyor
Varyantlı Üründe + Kaldırırsam Varyant 10 TL İse Onu Gösteriyor + Eklersem Hem Ana Ürünün Fiyatını Hemde Varyant Fiyatını Ekliyorum Sabahtan Beri Kafam Karıştı
JS Kodunu'da Şu Şekilde Ayarladım
Hata Yaptığım Yerlerde Yardımcı Olursanız Çok Sevinirim
$('.varyant ul li').click(function(){
$('.varyant ul li').removeClass('aktif');
$(this).addClass('aktif');
var fiyat = ((parseInt($('[data-guncel-fiyat]').attr('data-guncel-fiyat'))) , parseInt($(this).attr('data-fiyat'))).formatMoney(2,'.',',');
$('[data-guncel-fiyat]').html( fiyat , ' TL');
});
Foreach loop kısmında tam olmadığı için hangisinden kaynaklı doldurmadığını söylemek zor gibi, çünkü foreach loop javascript gibi async yapısında direk data alamazsınız.
Bunun için php de yield yapısı geldi, ancak şuan için sizin yaptığınız foreach döngüsü tam olmadığı için varyant tamamlamıyor olabilir, bir kaç alternatif sorunda olabilir.
Şuan için yorum yapmak yanlış, foreach döngüsü tamamlamadıktan sonra yorum yapabiliriz.