如何显示购物车价值个体?

时间:2018-12-31 11:37:29

标签: php codeigniter-3 shopping-cart

我正在使用CodeIgniter购物车。我正在使用Ajax获取产品数据。 现在在我的ajax成功中 获取数据

select (case when SLABREACHED = 0 then 'WithInSLA' 
             when SLABREACHED = 1 then 'SLABREACHED'
        end) as slabreached,
       count(*) as Total,
       count(*) * 100.0 / sum(count(*)) over () as ration
from mwp_main
where problemsince >= current timestamp - 7 days and
      problemsince < current timestamp and
      status not in ('OPEN', 'REASSIGNED', 'REASSIGNED RESPONSE', 'REOPEN') 
group by slabreached;

Ajax

    public function viewPrimaryCart()
     {

      $output = '';
      $count = 0;
      foreach($this->cart->contents() as $items)
      {
       $count++;
       $output .= '
   <tr> 
    <td>'.$items["name"].'</td>
    <td>'.$items["qty"].'</td>
    <td>'.$items["price"].'</td>
    <td>'.$items["subtotal"].'</td>
    </tr>
   ';
      }
      if($count == 0)
      {
       $output = '<p>Nothing selected yet</p>';
      }
      return $output;

    }

我想知道如何显示购物车数据?我的意思是我必须获取数量并传递给我的jquery。

我尝试过

$.ajax({
    url:"<?php echo base_url(); ?>Member_controller/primaryMemberCart",
    method:"POST",
    data:{product_id:product_id, product_name:product_name, product_price:product_price,quantity:quantity},
    success:function(data)
    {
      alert(data);
     //alert("Product Added into Cart");
     $('#primarycart_details').html(data);
    }
   });

什么是正确的显示方式? 我为购物车https://www.webslesson.info/2017/03/ajax-jquery-codeigniter-shopping-cart.html

引用了此链接

您能在这个问题上帮助我吗?

4 个答案:

答案 0 :(得分:1)

会有点复杂

您的dataType:“ json”告诉jQuery您希望它解析返回的JSON,但这并不意味着jQuery将自动对您的请求数据进行字符串化。

使用

dataType: "json" 

然后叠加view()函数,例如将整个视图存储在一个数组中,例如

$array  = ('view'=>'your_html_view_code','name'=>$items['name'],'name'=>$qty['qty'])

并通过json_encode()通过编码发送给响应 并通过response.name

获取值

答案 1 :(得分:0)

只需在td数量上添加一个类

$output .= '
       <tr> 
        <td>'.$items["name"].'</td>
        <td class="quantity">'.$items["qty"].'</td>
        <td>'.$items["price"].'</td>
        <td>'.$items["subtotal"].'</td>
       </tr>
       ';

然后您可以使用jquery获取值

$('.quantity').innerHTML();

答案 2 :(得分:0)

success: function(data){
    var obj = JSON.parse(data); // add this part 
    alert(obj.qty);
}

答案 3 :(得分:0)

最后,我找到了答案。我尝试了下面的代码,它对我有用。

控制器

public function viewPrimaryCart()
 {
  $output = '';
  $count = 0;
  foreach($this->cart->contents() as $items)
  {
   $count++;
   $output = array('qty' =>$items["qty"],'subtotal'=>$items["subtotal"] );
  }
  if($count == 0)
  {
   $output = '<p>Nothing selected yet</p>';
  }

 echo json_encode($output);
 exit();
}

Ajax成功

 success:function(data)
    {
        var obj = JSON.parse(data);
       alert(obj.qty);
       alert(obj.subtotal);
    }