Codeigniter Корзина при обновлении - PullRequest
0 голосов
/ 04 октября 2018

У меня вопрос по поводу обновления корзины покупок кодов.Я просто тестирую этот класс.Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь опубликовать данные, rowid воспринимается как массив, а количество как обычная запись var.

Вот HTML:

<?php echo form_open(base_url('ShoppingCart/UpdateCart')); ?>
                    <table class="table">
                        <thead>
                            <tr>
                                <th class="cart-romove item">Remove</th>
                                <th class="cart-description item">Image</th>
                                <th class="cart-product-name item">Product Name</th>
                                <th class="cart-edit item">Edit</th>
                                <th class="cart-qty item">Quantity</th>
                                <th class="cart-sub-total item">Subtotal</th>
                                <th class="cart-total last-item">Grandtotal</th>
                            </tr>
                        </thead>
                        <!-- /thead -->

                        <tbody>
                            <?php
                            $items = $this->cart->contents ();
                            // echo count ( $items );
                            $i = 1;

                            foreach ( $items as $item ) {
                                echo form_hidden ( $i . '[rowid]', $item ['rowid'] );

                                $this->load->view ( 'pages/tpl/products/product-listing-cart', array (
                                        'item' => $item,
                                        'i' => $i
                                ) );
                                $i ++;

                            }
                            ?>

                        </tbody>
                        <!-- /tbody -->
                        <tfoot>
                            <tr>
                                <td colspan="7">
                                    <div class="shopping-cart-btn">
                                        <span class=""> <a href="<?= $this->agent->referrer(); ?>"
                                            class="btn btn-upper btn-primary outer-left-xs">Continue
                                                Shopping</a> 

                                                <?php echo form_submit('', 'Update Shopping Cart');?>
                                                <a href="<?=base_url('ShoppingCart/UpdateCart'); ?>" class="btn btn-upper btn-primary pull-right outer-right-xs">Update shopping cart</a>
                                        </span>
                                    </div> <!-- /.shopping-cart-btn -->
                                </td>
                            </tr>
                        </tfoot>
                    </table>
                    <!-- /table -->

и вот мой последнийконтроллер UpdateCart () код и он работает следующим образом:

$data = array();
    foreach ($this->input->post() as $value) {
        if(is_array($value)) $rowids[] = $value['rowid'];
        //$qty = $qty;
    }
    foreach ($this->input->post() as $value) {

        if(!is_array($value)) $qtys[] = $value;
    }

    $i=-1;

    for($i=0;$i<count($rowids); $i++)
    {
        $data[] = array(
                'rowid' => $rowids[$i],
                'qty'   => $qtys[$i]
        );
    }
    //var_dump($data);

Я хочу знать, есть ли лучший способ для достижения вышеизложенного?Я пытался получить почтовые данные для заполнения массива данных в одном цикле, но во всех случаях есть предупреждения / ошибки.

Любые предложения / идеи?

Спасибо,

...