/
  • بررسی کدهای سبد خرید فروشگاه

  • صفحه‌ها (3):
  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی بررسی کدهای سبد خرید فروشگاه
    نویسنده پیام
    a76205 آفلاین
    عضو
    ***

    ارسال‌ها: 163
    تاریخ عضویت: ۱۳۹۳ مرداد ۱۵
    اعتبار: 0
    تشکرها : 56
    ( 4 تشکر در 3 ارسال )
    ارسال: #1
    بررسی کدهای سبد خرید فروشگاه
    سلام

    برای یادگیری تصمیم گرفتم ساخت فروشگاه اینترنتی رو تمرین کنم. اما نمایش سبد خرید را به هیچ وجه متوجه نمیشم. اینکه به چه دلیل از foreach استفاده میکنه یا اینکه چرا داخل دستور sql از IN استفاده میشه و در قسمتی substr میزاره برنامه نویس

    لطفا توی مفهوم ساختش کمکم کنید.
    کد PHP:
    <?php
    if (isset($_SESSION['cart'])){
    $sql " SELECT * FROM products WHERE id_products IN (";
    foreach(
    $_SESSION['cart'] as $id => $value){
        
    $sql .= $id ",";
    }
    $sql substr($sql,0,-1) . ") ORDER BY id_products ASC";
    $query mysql_query($sql);
    while(
    $row mysql_fetch_assoc($query)){
    ?>
    <p><?php echo $row['name']; ?><?php echo $_SESSION['cart'][$row['id_products']]['quantity']; ?></p>

    ?>
    ۱۳۹۳ مرداد ۱۵ ۱۰:۱۳ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    webnevesht آفلاین
    محمدرضا سلطانی
    ***

    ارسال‌ها: 972
    تاریخ عضویت: ۱۳۹۰ آذر ۲۵
    اعتبار: 22
    تشکرها : 384
    ( 702 تشکر در 427 ارسال )
    ارسال: #2
    RE: بررسی کدهای سبد خرید فروشگاه
    شما در اصل قبل از این مرحله id محصولاتی که کاربر قصد خریدشون رو داره رو در قالب یک آرایه در سشن ذخیره کردین.خب؟
    برای خوندن اطلاعات سبد خرید توی اون SQL میگین Select کله محصولاتی رو که چی؟ که id_products شون در اون آرایه وجود داشته باشه.
    یعنی توی اون Foreach میاین آرایه رو یکی یکی میخونین و در قالب یک رشته به صورت id1,id2,id3 ,... ذخیره میکنین و میزارین توی SQLتون.

    اون Substr هم برای اینه که توی Foreach کاربر هر id ای رو که میخونه یه دونه ویرگول میچسبونه تهش. یعنی مثلا میشه id1,id2,id3, و اگه اینو توی SQL اجرا کنین پیغام خطا میگیرین. برای این مساله با Substr میاد و کاراکتر - , - تهش رو حذف میکنه Blush
    __________________________________________________________________________
    بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
    ۱۳۹۳ مرداد ۱۶ ۰۸:۳۷ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : a76205
    a76205 آفلاین
    عضو
    ***

    ارسال‌ها: 163
    تاریخ عضویت: ۱۳۹۳ مرداد ۱۵
    اعتبار: 0
    تشکرها : 56
    ( 4 تشکر در 3 ارسال )
    ارسال: #3
    RE: بررسی کدهای سبد خرید فروشگاه
    سلام، سلطانی خیلی ممنون بابت پاسخ کاملتون. متوجه اصل مطلب شدم

    بغییر از این روش، توی نمایش سبد خرید کد دیگری هم وجود داره؟ تقریبا همین یه مدل رو دیدم
    ۱۳۹۳ مرداد ۱۶ ۰۸:۰۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    saeideng آفلاین
    عضو
    ***

    ارسال‌ها: 151
    تاریخ عضویت: ۱۳۹۲ تير ۱۶
    اعتبار: 4
    تشکرها : 15
    ( 71 تشکر در 62 ارسال )
    ارسال: #4
    RE: بررسی کدهای سبد خرید فروشگاه
    نقل قول: بغییر از این روش، توی نمایش سبد خرید کد دیگری هم وجود داره؟ تقریبا همین یه مدل رو دیدم
    هر کسی بخواد بنویسه یه جور مینویسه
    پس کلی از این کد ها میتونه موجود باشه Smile
    کلیتش همینه
    این اومده کوئری زده و اسم محصولات رو از دیتابیس واکشی کرده
    همونو میتونست تو session قرار بده و نیازی به موئری دوباره نبود یعنی یه کار اضافه صورت گرفته
    اگر بخواد ببینه که آن محصول از دیتابیس حذف شده یا نه میتونه از این روش استفاده کنه
    ولی همون طور که تو کدها مشاهده میکنید session دوباره مقدار دهی نمیشود یعنی کاری به حذف بودن یا نبودن محصول نداره
    پس این کارش بیهوده صورت گرفته
    ۱۳۹۳ مرداد ۱۶ ۰۹:۳۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : a76205
    a76205 آفلاین
    عضو
    ***

    ارسال‌ها: 163
    تاریخ عضویت: ۱۳۹۳ مرداد ۱۵
    اعتبار: 0
    تشکرها : 56
    ( 4 تشکر در 3 ارسال )
    ارسال: #5
    RE: بررسی کدهای سبد خرید فروشگاه
    (۱۳۹۳ مرداد ۱۶ ۰۹:۳۶ عصر)saeideng نوشته شده توسط:  هر کسی بخواد بنویسه یه جور مینویسه
    پس کلی از این کد ها میتونه موجود باشه Smile
    کلیتش همینه
    این اومده کوئری زده و اسم محصولات رو از دیتابیس واکشی کرده
    همونو میتونست تو session قرار بده و نیازی به موئری دوباره نبود یعنی یه کار اضافه صورت گرفته
    اگر بخواد ببینه که آن محصول از دیتابیس حذف شده یا نه میتونه از این روش استفاده کنه
    ولی همون طور که تو کدها مشاهده میکنید session دوباره مقدار دهی نمیشود یعنی کاری به حذف بودن یا نبودن محصول نداره
    پس این کارش بیهوده صورت گرفته

    فکر میکنم نمیتونم براحتی ساخت فروشگاهو یاد بگیرم. خیلی مشکله ساختش یا ایراد از منه ؟ Big Grin انواع فیلمارو دانلود کردم ولی یجایی کم میارم..

    داخل کد بالایی که قرار دادم وقتی محصولی را به سبد اضافه میکنم و صفحه رو رفرش میکنم دوباره بهش اضافه میشه. از چه روشی بغییر از header استفاده کنم تا جلوشو بگیرم
    ۱۳۹۳ مرداد ۱۷ ۰۴:۱۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    webnevesht آفلاین
    محمدرضا سلطانی
    ***

    ارسال‌ها: 972
    تاریخ عضویت: ۱۳۹۰ آذر ۲۵
    اعتبار: 22
    تشکرها : 384
    ( 702 تشکر در 427 ارسال )
    ارسال: #6
    RE: بررسی کدهای سبد خرید فروشگاه
    کدهای PHP رو بالاتر از بقیه کدها بزار و با شرط های کنترلی اون کدها رو چک کن که در چه صورتی اجرا بشن.
    __________________________________________________________________________
    بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
    ۱۳۹۳ مرداد ۱۷ ۰۴:۳۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    a76205 آفلاین
    عضو
    ***

    ارسال‌ها: 163
    تاریخ عضویت: ۱۳۹۳ مرداد ۱۵
    اعتبار: 0
    تشکرها : 56
    ( 4 تشکر در 3 ارسال )
    ارسال: #7
    RE: بررسی کدهای سبد خرید فروشگاه
    تمامی کدهارو بالا نوشتم. توی کنترل تشخیص آیدی خیلی مشکل پیدا کردم. وقتی میخوام از محصولات اضافه شده کم کنم، فقط روی اولین محصول کلیک شده کسر شدن تعداد اعمال میشه و اگر روی یکی دیگه از محصولات کلیک کنم ( remove ) بازم از اون اولیه کم میشه!

    کد PHP:
    <p>

    <?
    php
    if (isset($_SESSION['cart'])){
    $sql " SELECT * FROM products WHERE id IN (";
    foreach(
    $_SESSION['cart'] as $id => $value){
        
    $sql .= $id ",";
    }
    $sql substr($sql,0,-1) . ") ORDER BY id ASC";
    $query mysql_query($sql);
    while(
    $row mysql_fetch_assoc($query)){
    ?>
    <p> <?php echo $row['name']; ?> <?php echo $_SESSION['cart'][$row['id']]['quantity']; ?> <a href="index.php?page=products&action=remove&id=<?php echo $id?>"> Remove </a> </p>
    <?php
        
    }
    }
    else{
    echo 
    "your  cart is empty";
    }
    ?>

    <?php
    if (isset($_GET['action']) && ($_GET['action'] == "empty")){
        unset(
    $_SESSION['cart']);
        
    header("location: index.php");
    }
    ?>

    <?php
    if (isset($_GET['action']) && ($_GET['action'] == "remove")){
        
    $id_products intval($_GET['id']);
            if(isset(
    $_SESSION['cart'][$id_products])){
                
    $_SESSION['cart'][$id_products]['quantity']--;
            }
    }
    ?>

    <a href="index.php?page=products&action=empty"> Empty </a>
    </p> 
    (آخرین ویرایش در این ارسال: ۱۳۹۳ مرداد ۱۷ ۰۵:۳۶ عصر، توسط a76205.)
    ۱۳۹۳ مرداد ۱۷ ۰۵:۳۵ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    mo_ali_2005 آفلاین
    عضو جدید
    **

    ارسال‌ها: 38
    تاریخ عضویت: ۱۳۹۳ مرداد ۱۵
    اعتبار: 2
    تشکرها : 3
    ( 19 تشکر در 14 ارسال )
    ارسال: #8
    RE: بررسی کدهای سبد خرید فروشگاه
    کد قسمتی رو که لینک کاهش داره رو هم بگذار!
    اگه هر کدوم رو میزنی فقط از اولی کم می کنه معلومه احتمالا ایراد از قسمتی هست که دکمه کاهش رو گذاشتی..
    (آخرین ویرایش در این ارسال: ۱۳۹۳ مرداد ۱۸ ۱۱:۵۱ صبح، توسط mo_ali_2005.)
    ۱۳۹۳ مرداد ۱۸ ۱۱:۵۰ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : a76205
    saeideng آفلاین
    عضو
    ***

    ارسال‌ها: 151
    تاریخ عضویت: ۱۳۹۲ تير ۱۶
    اعتبار: 4
    تشکرها : 15
    ( 71 تشکر در 62 ارسال )
    ارسال: #9
    RE: بررسی کدهای سبد خرید فروشگاه
    نکته ای که رعایت نمیکنید:
    قبل از تابع header هیچ خروجی نباید چاپ بشه حتی یک کاراکتر فاصله یا اینتر اگه رعایت نکنید حتما به مشکل خواهید افتاد
    ۱۳۹۳ مرداد ۱۸ ۱۲:۲۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : a76205
    a76205 آفلاین
    عضو
    ***

    ارسال‌ها: 163
    تاریخ عضویت: ۱۳۹۳ مرداد ۱۵
    اعتبار: 0
    تشکرها : 56
    ( 4 تشکر در 3 ارسال )
    ارسال: #10
    RE: بررسی کدهای سبد خرید فروشگاه
    (۱۳۹۳ مرداد ۱۸ ۱۲:۲۲ عصر)saeideng نوشته شده توسط:  نکته ای که رعایت نمیکنید:
    قبل از تابع header هیچ خروجی نباید چاپ بشه حتی یک کاراکتر فاصله یا اینتر اگه رعایت نکنید حتما به مشکل خواهید افتاد

    میشه دقیقا بگین کجاش. رعایت نکردم؟ خروجی چاپ نمیشه بعد header کردنم

    (۱۳۹۳ مرداد ۱۸ ۱۱:۵۰ صبح)mo_ali_2005 نوشته شده توسط:  کد قسمتی رو که لینک کاهش داره رو هم بگذار!
    اگه هر کدوم رو میزنی فقط از اولی کم می کنه معلومه احتمالا ایراد از قسمتی هست که دکمه کاهش رو گذاشتی..
    دکمه کاهش فکر نمیکنم مشکل خاصی داشته باشه چون بصورت get داره ارجاع داده میشه و فقط یک لینک هست

    کد PHP:
    <?php     include_once("config.php");   ?>
    <?php
        
    if(isset($_GET['action']) && ($_GET['action'] == "add")){
            
    $id intval($_GET['id']);
            if(isset(
    $_SESSION['cart'][$id])){
                
    $_SESSION['cart'][$id]['quantity']++;
            } else{
              
    $query "SELECT * FROM products WHERE id={$id}";
              
    $query mysql_query($query);

              if(
    mysql_num_rows($query) != 0){
                
    $row2 mysql_fetch_array($query);
                
    $_SESSION['cart'][$row2['id']] = array("quantity" => 1"price" => $row2['price']);
              } else{
                
    $message "this product id is invalid";
              }
           }
        }
    ?>

    <h1> Product List</h1>
          <?php
            
    if(isset($message)){
                echo 
    $message;
            }
          
    ?>
    <table border="1" width="650">
        <tr>
        <td width="150">Name</td>
        <td width="250">Description</td>
        <td width="100">Price</td>
        <td width="150">Action</td>
        </tr>
    <?php
        $show 
    mysql_query("SELECT * FROM products");
        while(
    $row mysql_fetch_assoc($show)){
    ?>
        <tr align="center">
        <td><?php echo $row['name']; ?></td>
        <td><?php echo $row['description']; ?></td>
        <td><?php echo $row['price']; ?></td>
        <td><a href="index.php?page=products&action=add&id=<?php echo $row['id']; ?>">Add To Cart</a></td>
        </tr>

    <?php ?>
    </table>

    <?php include("cart.php"); ?>
    (آخرین ویرایش در این ارسال: ۱۳۹۳ مرداد ۱۸ ۰۱:۳۶ عصر، توسط a76205.)
    ۱۳۹۳ مرداد ۱۸ ۰۱:۳۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (3):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS