نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در تکراری شدن فیلدهای آرایه برای سبد خرید

  1. #1

    مشکل در تکراری شدن فیلدهای آرایه برای سبد خرید

    سلام
    من فروشگاهی دارم ایجاد میکنم که محصولات این فروشگاه در رنگ‌ها و انواع مختلف اراپه میشه
    برای اینکه کاربر بتواند چند رنگ مختلف از یک محصول را خریداری کند مجبور هستم از کلیدی استنفاده کنم که در هر بار اضافه شدن یک محصول جدید به آرایه تغییر کند
    اگر از ID محصول به عنوان کلید استفاده کنم اطلاعات روی خانه‌های آن کلید نوشته میشود ، چون همانطور که میدانید در آرایه نمیتوان کلید تکراری داشت

    همه چیز به درستی انجام میشه و فقط مشکلی که من دارم با این کدی که نوشتم این هست که در هر بار ایجاد شدن ردیفی از آرایه بعد از بسته شدن و دوباره لود شدن صفحه مقدار قبلی دوباره در آرایه نوشته میشود

    بخش اضافه کردن اطلاعات به سبد خرید

    <?php

    if(isset($_SESSION['basket'])){
    $key = end((array_keys($_SESSION['basket'])));
    $key++;
    }else{
    $key = 0;
    echo " count = 0";
    }

    if(isset($_GET['id'] , $_GET['meter'] , $_GET['color'])){
    $id = $_GET['id'];

    $color = $_GET['color'];

    $meter = $_GET['meter'];

    $selected_product = array($id , $color , $meter);

    list($_SESSION['basket'][$key][0] , $_SESSION['basket'][$key][1] , $_SESSION['basket'][$key][2] ) = $selected_product;

    echo "<pre>";
    var_dump($_SESSION['basket']);
    echo "</pre>";
    $count = count($_SESSION['basket']);
    echo " count = ".$count;
    }


    ?>

    نمونه خروجی آرایه:


    array(3) {
    [0]=>
    array(3) {
    [2]=>
    string(4) "5544"
    [1]=>
    string(6) "سبز"
    [0]=>
    string(2) "11"
    }
    [1]=>
    array(3) {
    [2]=>
    string(4) "5544"
    [1]=>
    string(6) "سبز"
    [0]=>
    string(2) "11"
    }
    [2]=>
    array(3) {
    [2]=>
    string(4) "4234"
    [1]=>
    string(8) "سفید"
    [0]=>
    string(1) "9"
    }
    }


    همانطور که میبیند مقدارهای خانه‌های آرایه‌ با کلید 0 و 1 یکسان میباشند و این مقدارها ناخواسته ایجاد میشوند

    از تابع array_unique هم برای اینکار استفاده کردم ولی جواب نداد

    پیشاپیش از کمکتون ممنونم
    آخرین ویرایش به وسیله Alias.Boy : چهارشنبه 20 آذر 1392 در 09:24 صبح

  2. #2

    نقل قول: مشکل در تکراری شدن فیلدهای آرایه برای سبد خرید

    دوستان اگر سوالم توضیح بیشتری نیاز دارد بفرمایید تا توضیح بدهم
    هر چند با نگاه کردن به کد و توضیحات بالا و خروجی متوجه منظورم میشوید

  3. #3

    نقل قول: مشکل در تکراری شدن فیلدهای آرایه برای سبد خرید

    ممنون از چند نفری که حداقل مشاهده کردن :|

  4. #4

    نقل قول: مشکل در تکراری شدن فیلدهای آرایه برای سبد خرید

    به نظر ک مشکلی نداره

    شاید از بخش دیگری از کد باشه

  5. #5

    نقل قول: مشکل در تکراری شدن فیلدهای آرایه برای سبد خرید

    نقل قول نوشته شده توسط nadi_1368 مشاهده تاپیک
    به نظر ک مشکلی نداره

    شاید از بخش دیگری از کد باشه
    مرسی از شما
    باید بگم که نه از جای دیگه کد نیست , تو این صفحه فقط این بخش کد اجرا میشه
    همونطور که گفتم این مشکل به خاطر اینه که کلیدی که از طریق key$ در هر بار از اضافه شدن محصول به سبد ایجاد میشه این مشکل را به بار میاره , انگاری تابع لیست وقتی میبینه کلید جدیدی هست مقدار آخری را دوباره در آرایه مینویسه و یک بار دیگه اجرا میشه و مقدار جدید را اضافه میکنه

    شما میتوانید این قضیه را با یک ورودی از داخل یک فرم که اطلاعات فرم را به صورت GET ارسال میشود را برای این مشکل تست کنید

    باز هم ممنون میشم کمک کنید این مشکل را برطرف بکنم
    یا اگر راه خل دیگه ای سراغ دارید بگید

  6. #6

    نقل قول: مشکل در تکراری شدن فیلدهای آرایه برای سبد خرید

    اینو یک نگاه بندازین ببینید مشکلتون حل نمیشه

    http://v3.thewatchmakerproject.com/journal/276/

    در لینک بالا به این روش عمل میکنه ک فقط ای دی هه رو در session ذخیره میکه(ای دا ها کارکتر ، از هم جدا میکنه)
    و موقع ک میخواد مورد برسی قرار بده از با استفاده از دستور

    $items = explode(',',$_SESSION['cart']);


    حالا شما ک ب غیر از ای دی دو فیلد دیگر هم دارید میتونید به این شکل عمل کنید

    $_SESSION['cart']=$id.'_'.$meter."_".$color.',';//item1
    $_SESSION['cart']=$id.'_'.$meter."_".$color.',';//item2
    $_SESSION['cart']=$id.'_'.$meter."_".$color;//item3

    $items = explode(',',$_SESSION['cart']);
    foreach ($items as $item) {
    list($id,$meter,$color)=explode('_',$item);
    }


    فک کنم باید درست کار کنه
    آخرین ویرایش به وسیله nadi_1368 : چهارشنبه 20 آذر 1392 در 22:50 عصر

تاپیک های مشابه

  1. سوال: مشکل در آرایه های سبد خرید
    نوشته شده توسط navid3d_69 در بخش PHP
    پاسخ: 1
    آخرین پست: سه شنبه 10 اردیبهشت 1392, 13:04 عصر
  2. نیازمند ماژول بانک پارسیان برای سبد خرید
    نوشته شده توسط Mahdic در بخش PHP
    پاسخ: 14
    آخرین پست: دوشنبه 07 آذر 1390, 10:50 صبح
  3. مبتدی: ایجاد ماژوال پرداخت برای سبد خرید
    نوشته شده توسط hamed_hymn در بخش PHP
    پاسخ: 1
    آخرین پست: چهارشنبه 13 بهمن 1389, 15:34 عصر
  4. مبتدی: مثال برای سبد خرید - Shopping Cart Example
    نوشته شده توسط persianspam در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: جمعه 13 آذر 1388, 14:19 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •