使用jquery cookie保存webshop产品ID

时间:2016-12-21 08:45:09

标签: javascript jquery cookies

如果我点击按钮,如何将产品ID保存到jquery cookie?

我有下面的代码,但我认为它不是最好的,或者是一个很好的解决方案。还有另一个问题,我总是得到消息,该id保存到收藏夹。

它没有检查,如果实际的ID在收藏夹中。

$('#favorite_button').click(function()
{
     var cookie_message, item_id, most_van;

     item_id = <?php echo (int)$id; ?>;
     var cookie_val = $.cookie("kedvenc_termek_cookie");
     if (cookie_val)
     {
         most_van = cookie_val.split(";");
     }
     else
     {
         most_van = [];
     }

     if ($.inArray(item_id, most_van) === -1)
     {
         most_van.push(item_id);
         $.removeCookie('kedvenc_termek_cookie');
         $.cookie('kedvenc_termek_cookie', most_van.join(";"), { expires: 7, path: "/" });
         cookie_message = "Added to favorites";
     }
     else
     {
         cookie_message = "This ID is alredy saved in the favorites";
     }
 });

有人可以给我一个好的,简单的代码,而不是这个吗?

更新

我只会列出ID 70产品。

$(document).ready(function(e) {
    if ($.cookie("kedvenc_termek_cookie"))
    {
        var favorite_items_id = $.cookie("kedvenc_termek_cookie");
        console.log(favorite_items_id);
        $( "#favorite_items" ).load( "files/kedvencek.php?id="+favorite_items_id, function() {
            var items_loaded = 1;
            $("#favorite_items").append('<div class="clear"></div>');
        });
    }
});


<div class="items_container" id="favorite_items"></div>

<?php
session_start();
if (file_exists("connect.php")) {include_once("connect.php");}
if (file_exists("functions.php")) {include_once("functions.php");}
$id = explode('|' , $_GET["id"]);
foreach( $id AS $i)
{
    $lista[] = intval($i);
}
$list = implode(',' , $lista );
$sql = "SELECT termek_id, termek_nev FROM termek WHERE termek_status = 1 AND termek_id in ($list) ORDER BY termek_nev ASC";
$get_main_items = mysqli_query($kapcs, $sql) or die(mysqli_error($kapcs));
if(mysqli_num_rows($get_main_items) > 0 )
{
    while($i = mysqli_fetch_assoc($get_main_items))
    {
        echo '<h2>'.$i['termek_nev'].'</h2>';
    }
}
else
{
    echo ' Még nincs kedvenc termék!';
}
die();
?>

控制台: enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

我解决了问题,就是这样:$ id = explode(&#39; |&#39;,$ _GET [&#34; id&#34;]);

我需要一个;在爆炸中。