• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php+ajax实现商品对比功能示例

    本文实例讲述了php+ajax实现商品对比功能。分享给大家供大家参考,具体如下:

    商品对比调用的JS文件(包含了商品对比框浮动JS):

    /*浮动窗口*/
    (function(){
     var n=10;
     var obj=document.getElementById("goods-compare");
     if(!obj){
      return false;
     }
     var x=0;
     window.onscroll=function(){
      obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px';
     };
     window.onresize=function(){
      obj.style.top=(document.body.scrollTop||document.documentElement.scrollTop)+n+'px';
     };
    })();
    //添加显示对比框
    function addcompare(chk){
     $('#goods-compare').fadeIn().show();
     var count=$(".compare-box li").length;
     if (count>2)//这里可以修改对比的数据哦
     {
      alert('产品比较最多选3种哦');
      return;
     }
     $.ajax({
      type: 'post',
      url: 'ajax.php',
      data: {
       'action':'1',
       'gid':chk.gid,//商品ID
       'gname':chk.gname,//商品名称
       'gtype':chk.gtype//商品类别,类别不同时不能比较
      },
      cache: false,
      async: false,
      success: function(result) {
       if(result!='')
       {
        alert(result);
       }else{
        var url='http://www.lusen.com/product-'+chk.gid+'.html';//设置商品的链接地址
        $(".compare-box").append("li class='division clearfix' id='"+chk.gid+"'>div class='span-3'>a href='"+url+"' target='_blank' title='"+chk.gname+"'>'"+chk.gname+"'/a>/div>span onclick=\"removecompare('"+chk.gid+"');\">删除/span>/li>")
        $("#comids").val($(".compare-box li").map(function(){//将对比的所有商品ID,赋值给#comids
         return $(this).attr('id');
        }).get().join(","));
       }
      }
     });
    }
    //删除对比产品
    function removecompare(id)
    {
     $.ajax({
      type: 'post',
      url: 'ajax.php',
      data: {
       'action':'2',
       'gid':id
      },
      cache: false,
      success: function(result) {
       $("#"+id).remove();
       $("#comids").val($(".compare-box li").map(function(){
        return $(this).attr('id');
       }).get().join(","));
      }
     });
    }
    //清空对比产品
    function clearcompare()
    {
     $.ajax({
      type: 'post',
      url: 'ajax.php',
      data: {
       'action':'3'
      },
      cache: false,
      success: function(result) {
       $(".compare-box").html('');
       $("#comids").val('');
      }
     });
    }
    //显示对比框
    function showcompare()
    {
     $.ajax({
      type: 'post',
      url: 'ajax.php',
      data: {
       'action':'4'
      },
      success: function(result) {
       if(result){
        $(".compare-box").append(result);
        $("#comids").val($(".compare-box li").map(function(){
         return $(this).attr('id');
        }).get().join(","));
        $('#goods-compare').fadeIn().show();
       }
      }
     });
    }
    //点击关闭对比框
    $('.close-gc').click(function(){
     $('#goods-compare').fadeOut().hide();
    });
    
    

    商品对比调用Ajax文件:

    ?php
    function mb_unserialize($serial_str) {
     $serial_str =stripslashes($serial_str);
     return unserialize($serial_str);
    }
    if($_POST['action']=='1') {//add
     if(isset($_COOKIE['gtype'])) {
      if($_COOKIE['gtype']!=$_POST['gtype']) {
       echo '对不起,您选择的是不同类别的产品无法加入对比,请选择同类产品或清空当前对比栏再选择。';
       return;
      }
     }else {
      setcookie('gtype',$_POST['gtype']);
     }
     if(isset($_COOKIE['gid'])) {
      $arr_str = $_COOKIE['gid'];
      $arr=mb_unserialize($arr_str);
      if(count($arr)>2) {//商品比较数量
       echo "商品比较最多选3种";
       return;
      }
      foreach($arr as $val) {
       if($val[0]==$_POST['gid']) {
        echo "该商品已经加入对比框";
        return;
       }
      }
      $info=array($_POST['gid'],$_POST['gname'],$_POST['gtype']);
      $arr[]=$info;
      $arr_str=serialize($arr);
      setcookie('gid',$arr_str);
     }else {
      $info=array($_POST['gid'],$_POST['gname'],$_POST['gtype']);
      $arr[]=$info;
      $arr_str=serialize($arr);
      setcookie('gid',$arr_str);
     }
    }else if($_POST['action']=='2') {//delone
     $id=$_POST['gid'];
     $arr_str = $_COOKIE['gid'];
     $arr=mb_unserialize($arr_str);
     foreach($arr as $key=>$val) {
      if($val[0]==$id) {
       unset ($arr[$key]);
      }
     }
     $arr_str=serialize($arr);
     setcookie('gid',$arr_str);
    }else if($_POST['action']=='3') {//delall
     setcookie('gid','');
     setcookie('gtype','');
    }else if($_POST['action']=='4') {//showlist
     if(isset($_COOKIE['gid'])) {
      $data='';
      $arr_str = $_COOKIE['gid'];
      $arr=mb_unserialize($arr_str);
      foreach ($arr as $val){
       $url="http://www.lusen.com/product-".$val[0].".html";
       $data.="li id='{$val[0]}' class='division clearfix'>div class='span-3'>a href='{$url}' target='_blank' title='{$val[1]}'>{$val[1]}/a>/div>span onclick=\"removecompare('{$val[0]}');\">删除/span>/li>";
      }
      echo $data;
     }
    }
    ?>
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP+ajax技巧与应用小结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
    • 妙用Ajax技术实现局部刷新商品数量和总价实例代码
    • php实现的简单美国商品税计算函数
    • 利用ajax+php实现商品价格计算
    上一篇:PHP开发的文字水印,缩略图,图片水印实现类与用法示例
    下一篇:PHP扩展Swoole实现实时异步任务队列示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    php+ajax实现商品对比功能示例 php+ajax,实现,商品,对比,