2012-07-09 55 views
0

我如何添加一個語句來驗證碼的地方停止,如果數量= 0追蹤像素 - PHP問題

我從這裏得到這個代碼,但它是最後一個後顯示的附加項目。

例如

https://www.emjcd.com/u?CID=1521607&OID=100000393&TYPE=type&ITEM1=401000305964&AMT1=16.9900&QTY1=1&ITEM2=401000305964&AMT2=0.0000&QTY2=0**&TYPE=347774&CURRENCY=USD&METHOD=IMG 

它補充ITEM2 = 401000305964 & AMT2 = 0.0000 & QTY2 = 0

雖然數據庫和發票只有一個項目

 <?php 
      $_customerId = Mage::getSingleton('customer/session')->getCustomerId(); 
      $lastOrderId = Mage::getSingleton('checkout/session')->getLastOrderId(); 
      $order = Mage::getSingleton('sales/order'); 
      $order->load($lastOrderId); 
      $_totalData =$order->getData(); 
      $_sub = $_totalData['subtotal'];//USD ==> global_currency_code,base_currency_code order_currency_code 
      // Incase if it is simple do this ==> https://www.emjcd.com/u?AMOUNT= $_sub; 
      //print_r($order); print_r($_totalData); 

      $_order = $this->getOrder(); 
      $allitems = $order->getAllItems(); 
      $index = 1; 
      $cjData = "";//Needed format ==> &ITEM1=3214sku&AMT1=13.49&QTY1=1&ITEM2=6577sku&AMT2=7.99&QTY2=2& 
      foreach($allitems as $item) 
      { 
       $cjData.="&ITEM".$index."=".$item->getSku()."&AMT".$index."=".$item->getPrice()."&QTY".$index."=".$item->getQtyToShip(); 
       $index++; 
      } 
     ?> 
     <div style="display:none;"> 
      <img src="https://www.emjcd.com/u?CID=1&OID=<?php echo $this->getOrderId(); ?>&TYPE=3<?php echo $cjData; ?>&CURRENCY=USD&METHOD=IMG" height="1" width="20"> 
     </div> 

回答

0

什麼打破;如果在追加$ cjData之前qty爲0。

0

if語句,你可以使用一個簡單的,如果數量不爲0

foreach($allitems as $item) 
{ 
    if ($item->getQtyToShip() != 0) { 
     $cjData.="&ITEM".$index."=".$item->getSku()."&AMT".$index."=".$item->getPrice()."&QTY".$index."=".$item->getQtyToShip(); 
    } 
    $index++; 
} 
+0

在添加if語句後,我得到一個黑色頁面 – 2012-07-09 18:34:25

1

您需要在$索引變量設置成零(0)開始在foreach前繩僅追加循環。

當你在進入foreach循環之前初始化你的$ index變量爲1(1)時,你有一行將變量加1的行會立即將總項目數減1,因爲它會給值加1(最小值)1(第一次通過)。這就是爲什麼你的價值在美元指數保持不變。