ÇÖZÜLDÜ E-ticaret varyant Çoklu seçim için yardım

sem10line

LogoMerkezi.com
Moderatör
T.C. Onaylı
Katılım
9 Ara 2020
Mesajlar
374
Tepkime puanı
334
Puanları
93
Yaş
32
Konum
Üsküdar/İstanbul
Web sitesi
www.logomerkezi.com
Arkadaşlar bir pdo ile kodlanmış eticaretimiz var burda varyantlarda seçilen varyanta +tutar ve çoklu seçim yapılması için talep aldım ama +tutar kısmını hallettim çoklu seçimi çözemedim tek varyant seçiminde kalıyor 2. yi seçemiyorum.
Kodlar:
Php varyant kodları;

Kod:
<?php
                  $query = $db->query("SELECT * FROM urun_secenek WHERE urun_id = '{$urun['id']}' ", PDO::FETCH_ASSOC);
                  foreach( $query as $row ){
                ?>
                <div class="alan">
                    <span class="varyant_baslik"><?php echo $row['baslik']; ?></span>
                    <ul class="varyant">
                        <?php
                          $query1 = $db->query("SELECT * FROM urun_secenek_alt WHERE urun_secenek_id = '{$row['id']}' ", PDO::FETCH_ASSOC);
                          if($query1->rowCount()){
                            foreach( $query1 as $row1 ){
                               echo ' <li><div data-stok="'.$row1['stok'].'" data-fiyat="'.$row1['fiyat'].'" data-secenek-id="'.$row1['id'].'">'.$row1['baslik'].'</div></li>';
                            }
                          }
                          ?>
                    </ul>
                </div>
                <?php } ?>

Javascript kodları;

JavaScript:
 $('#ekle').click(function(){
         
        $('#sepet_durum').removeClass().html('');
        var devam = 0;
        var secenek_id = 0;

        if(parseInt($('[name="adet"]').val()) < 1){
          $('#sepet_durum').addClass('hata').html('Lütfen geçerli bir adet giriniz.');
        }else{
            if($('.varyant li').length){
              if($('.varyant li div').hasClass('aktif')){
                if(parseInt($('[name="adet"]').val()) <= parseInt($('[data-stok].aktif').attr('data-stok'))){
                  secenek_id =  $('[data-stok].aktif').attr('data-secenek-id');
                  devam = 1;
                }else{
                  $('#sepet_durum').addClass('hata').html('Bu Seçenekten En Fazla '+ $('[data-stok].aktif').attr('data-stok') +' Adet Alabilirsiniz.');
                }
              }else{
                $('#sepet_durum').addClass('hata').html('Lütfen bir seçenek seçiniz.');
              }
            }else{
              devam = 1;
            }
        }

      if(devam == 1){
          $.ajax({
              url: "post.php",
              type: "post",
              data: 'islem=ekle&urun_id='+parseInt($(this).attr('data-id'))+'&adet='+parseInt($('[name="adet"]').val())+'&secenek_id='+secenek_id,
              success: function (x) {
                  if(x == 0){
                    $('#sepet_durum').addClass('hata').html('Yeterli stok bulunamadı.');
                  }else if(x == 1){
                    $('#sepet_durum').addClass('hata').html('Geçersiz istek.');
                  }else{
                    $('#sepet_durum').addClass('basari').html('Ürün başarı ile sepete eklendi.');
                    sepet();
                    $('#saydam_bg').fadeIn(500);
                    $('#sepet').fadeIn(500);
                  }
              }
          });
      }

    });
@arcface
 

arcface

Âyinesi iştir kişinin lafa bakılmaz
Kayıtlı Kullanıcı
Katılım
25 Eyl 2020
Mesajlar
216
Tepkime puanı
162
Puanları
48
Konum
istanbul
Web sitesi
www.arcface.net
post.php'de atar mısın
 

sem10line

LogoMerkezi.com
Moderatör
T.C. Onaylı
Katılım
9 Ara 2020
Mesajlar
374
Tepkime puanı
334
Puanları
93
Yaş
32
Konum
Üsküdar/İstanbul
Web sitesi
www.logomerkezi.com
post.php'de atar mısın
Kod:
<?php
  foreach($_GET    as $k => $v) $_GET[$k]    = strip_tags($v);
  foreach($_POST   as $k => $v) $_POST[$k]   = strip_tags($v);

 

  if($_POST){
    include 'panel/baglan.php';

    if($_POST['islem'] == 'ekle'){
        if(is_numeric($_POST['urun_id']) AND is_numeric($_POST['adet']) AND is_numeric($_POST['secenek_id'])){
            if($_POST['adet'] < 1){
              $_POST['adet'] = 1;
            }
            $urunquery = $db->prepare("SELECT * FROM urun where id=:id LIMIT 1");
            $urun = $urunquery->execute(array(":id"=>$_POST['urun_id']));
            $urun = $urunquery->fetch(PDO::FETCH_ASSOC);
            if($urun){
              if($_POST['secenek_id'] > 0){
                $query = $db->prepare("SELECT * FROM urun_secenek_alt where id=:id LIMIT 1");
                $alt_secenek = $query->execute(array(":id"=>$_POST['secenek_id']));
                $alt_secenek = $query->fetch(PDO::FETCH_ASSOC);
                if($alt_secenek){
                  if($_POST['adet'] > $alt_secenek['stok']){
                    echo 0;
                  }else{
                    $uniqid = $_POST['urun_id'].'-'.$_POST['secenek_id'];
                    $_SESSION['sepet']['urun_id'][$uniqid]      = $_POST['urun_id'];
                    $_SESSION['sepet']['adet'][$uniqid]         = $_POST['adet'];
                    $_SESSION['sepet']['secenek_id'][$uniqid]   = $_POST['secenek_id'];
                    $_SESSION['sepet']['key'][$uniqid]          = $uniqid;
                    echo 2;
                  }
                }else{
                  echo 1;
                }
              }else{
                  if($_POST['adet'] > $urun['stok']){
                    echo 0;
                  }else{
                    $uniqid = $_POST['urun_id'];
                    $_SESSION['sepet']['urun_id'][$uniqid]      = $_POST['urun_id'];
                    $_SESSION['sepet']['adet'][$uniqid]         = $_POST['adet'];
                    $_SESSION['sepet']['secenek_id'][$uniqid]   = 0;
                    $_SESSION['sepet']['key'][$uniqid]          = $uniqid;
                    echo 2;
                  }
              }
            }else{
              echo 1;
            }
        }else{
          echo 1;
        }
    }else if($_POST['islem'] == 'listele'){
      echo '<div class="sepet_baslik">Sepetim <span>('.count($_SESSION['sepet']['key']).' Ürün)</span> <i class="fa fa-times" data-sepet-kapat=""></i></div><ul class="sepet_urunler">';
      if(count($_SESSION['sepet']['key']) > 0){
        $toplam = 0;
        foreach ($_SESSION['sepet']['key'] as $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 = '';

          $varyant_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);

                    $secenek = '<div><span>'.$us['baslik'].':</span> <span>'.$as['baslik'].'</span></div>';
            $varyant_fiyat  = $as['fiyat'];
          }

          echo '<li>
                  <div class="col-md-3 col-xs-4"><a href="urun/'.$urun['sef'].'"><img src="upload/'.$uimg['img'].'" class="img-responsive"></a></div>
                  <div class="col-md-9 col-xs-8">
                    <a href="urun/'.$urun['sef'].'">'.$urun['baslik'].'</a>
                    '.$secenek.'
                    <div><span>Adet:</span> <span>'.$_SESSION['sepet']['adet'][$key].' Adet</span></div>
                    <div><span>Fiyat:</span> <span>'.$urun['fiyat'].' TL</span></div>
                    <div data-sepet-sil="'.$key.'"><i class="fa fa-trash"></i></div>
                  </div>
              </li>';

          $toplam += $_SESSION['sepet']['adet'][$key] * ($urun['fiyat'] + $varyant_fiyat);
        }

        echo '</ul><div class="sepet_alt">
              <div class="toplam_tutar"><span>Toplam Tutar:</span> <span>'.$toplam.' TL</span></div>
                <div class="col-md-12 mb-10 mt-10"><a href="sepetim" class="btn icon-btn btn-success  mt-10"><i class="fa fa-shopping-basket"></i> Sepetime Git</a></div>
                <div class="col-md-12"><a href="index.php" class="btn icon-btn btn-warning"><i class="fa fa-heart-o"></i> Alışverişe Devam Et</a></div>
            </div>';
      }else{
        echo '<li class="sepet_bos"><p>Sepetinizde Ürün Bulunmuyor.</p></li>';
      }
    }else if($_POST['islem'] == 'sepet_sil'){
        $uniqid = $_POST['id'];
        unset($_SESSION['sepet']['urun_id'][$uniqid]);
        unset($_SESSION['sepet']['adet'][$uniqid]);
        unset($_SESSION['sepet']['secenek_id'][$uniqid]);
        unset($_SESSION['sepet']['key'][$uniqid]);
        echo 1;
      }
  }

?>
 

sem10line

LogoMerkezi.com
Moderatör
T.C. Onaylı
Katılım
9 Ara 2020
Mesajlar
374
Tepkime puanı
334
Puanları
93
Yaş
32
Konum
Üsküdar/İstanbul
Web sitesi
www.logomerkezi.com
Sorun r10.net de @per ile çözülmüştür.
Kendisiyle çalışmanızı tavsiye ederim 2 haftadır uğraştığım zorlandığım konuya 1 saatte çözüm getirdi. @arcface de yardımlarından dolayı çok teşekkür ediyorum en başta onun verdiği önerilerde sorunun çözülmesinde büyük pay oldu.
 
5,689Konular
16,883Mesajlar
9,782Kullanıcılar
kagan2017Son üye
Üst