2014-01-12 7 views
0

Я пытаюсь запустить цикл foreach на следующей странице, чтобы получить имя, цену и количество элементов из корзины codeigniter. Но мой цикл foreach не работает на следующей странице? Пожалуйста, помогите.Почему мой цикл foreach не работает?

<?php 
    $cdata = $this->cart->contents(); ?> 

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <title>Website Payment Standard</title> 
    <script type="text/javascript" language="javascript"> 
    function paypal_submit() 
    { 

     var actionName='https://www.sandbox.paypal.com/cgi-bin/webscr'; 

     document.forms.frmOrderAutoSubmit.action=actionName; 
     document.forms.frmOrderAutoSubmit.submit(); 
    } 
    </script> 
    </head> 
    <!--onload="paypal_submit();"--> 
    <body onload="paypal_submit();" > 
    <form style=" padding:0px;margin:0px;" name="frmOrderAutoSubmit" method="post" > 


     <input type="hidden" name="upload" value="1"> 
      <input type="hidden" name="cmd" value="_xclick"> 
      <input type="hidden" name="business" value="[email protected]"> 

      <?php foreach ($cdata as $v_cdata) { ?> 

      <input type="hidden" name="quantity" value="<?php echo $v_cdata['qty']; ?> " > 
      <input type="hidden" name="item_name" value="<?php echo $v_cdata['name']; ?> " > 
      <input type="hidden" name="amount" value="<?php echo $v_cdata['price']; ?> " > 
      <?php } ?> 



      <input type="hidden" name="rm" value="2" /> 
      <input TYPE="hidden" name="address_override" value="0"> 



      <input type="hidden" name="address1" value="<?php echo $billing_address;?>"> 
      <input type="hidden" name="address2" value="<?php echo $shipping_info->address; ?>"> 
      <input type="hidden" name="city" value="<?php echo $shipping_info->city; ?>"> 
      <input type="hidden" name="zip" value="<?php echo $shipping_info->zip_code; ?>"> 
      <input type="hidden" name="phone" value="<?php echo $shipping_info->phone; ?>"> 



     </form> 
    </body> 
    </html> 
+1

print_r ($ CDATA); что у вас есть? –

+0

если я добавлю 2 продукта в свою корзину, я получил 2 результата в моем массиве, я уверен, что в $ cdata.problem нет проблем в цикле foreach – Sumon

+0

можете ли вы добавить данные массива также в свой вопрос? –

ответ

0

Попробуйте

<?php foreach ($cdata as $key=>$v_cdata) { ?> 

      <input type="hidden" name="quantity" value="<?php echo $v_cdata['qty']; ?> " > 
      <input type="hidden" name="item_name" value="<?php echo $v_cdata['name']; ?> " > 
      <input type="hidden" name="amount" value="<?php echo $v_cdata['price']; ?> " > 
      <?php } ?> 
0

Если данный массив, то он должен работать. Я проверил его с вашими данными.

вы можете посмотреть демо здесь: https://eval.in/88460

<?php 
$cdata = array ('c4ca4238a0b923820dcc509a6f75849b' => 
array ('rowid' => 'c4ca4238a0b923820dcc509a6f75849b ','id' => 1 ,'qty' => 1, 'price' => 50000 ,'name' => 'Sony Xperia', 'subtotal' => 50000), 
    'c81e728d9d4c2f636f067f89cc14862c' => 
    array ('rowid' => 'c81e728d9d4c2f636f067f89cc14862c', 'id' => '2', 'qty' => 1 ,'price' => 35000, 'name' => 'Samsung Galaxy', 'subtotal' => 35000) 
); ?> 
<?php foreach ($cdata as $v_cdata) { ?> 

    <input type="hidden" name="quantity" value="<?php echo $v_cdata['qty']; ?> " > 
    <input type="hidden" name="item_name" value="<?php echo $v_cdata['name']; ?> " > 
    <input type="hidden" name="amount" value="<?php echo $v_cdata['price']; ?> " > 
<?php } ?> 

ВЫВОД:

<input type="hidden" name="quantity" value="1 " > 
<input type="hidden" name="item_name" value="Sony Xperia " > 
<input type="hidden" name="amount" value="50000 " > 

<input type="hidden" name="quantity" value="1 " > 
<input type="hidden" name="item_name" value="Samsung Galaxy " > 
<input type="hidden" name="amount" value="35000 " > 
+0

Не работает, когда он перенаправляется на страницу PayPal. если i print_r ($ cdata), он показывает два значения, но когда он перезагружается на странице sandbox.paypal, он показывает только один продукт. Не знаете, почему это происходит? – Sumon

+0

@Sumon: вы проверили свой html? я думаю, что будет какая-то проблема, потому что у вас есть разные поля ввода с тем же именем. У вас должно быть другое имя для каждого поля ввода внутри одной и той же формы HTML –

+0

Я не мог найти никого. Который поле ввода вы можете мне рассказать PLS – Sumon

Смежные вопросы