codeigniter undefined offset-Fehler

Ich bin derzeit lernen cart-system mit CI und habe einige Probleme

A PHP Error was encountered 
Severity: Notice
Message: Undefined offset: 2
Filename: models/main_model.php
Line Number: 241

hier der code:

Controller:

function update_cart(){
    $this->main_model->validate_update_cart();
    redirect('cart');
}

Modell:

function validate_update_cart(){

    //Get the total number of items in cart
    $total = $this->cart->total_items();

    //Retrieve the posted information
    $item = $this->input->post('rowid');
    $qty = $this->input->post('qty');

    //Cycle true all items and update them
    for($i=0;$i < $total;$i++)
    {
        //Create an array with the products rowid's and quantities. 
        $data = array(
           'rowid' => $item[$i], //this is line 241
           'qty'   => $qty[$i]
        );

        //Update the cart with the new information
        $this->cart->update($data);
    }

}

anzeigen:

<div id="main">
<?php if(!$this->cart->contents()):
    echo 'You don\'t have any items yet.';
else:
?>

<?php echo form_open('cart/update_cart'); ?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
    <thead>
        <tr>
            <td style="background-color:yellow;">Qty</td>
            <td style="background-color:yellow;">Item No/td>
            <td style="background-color:yellow;">Description</td>
            <td style="background-color:yellow;">Color</td>
            <td style="background-color:yellow;">Price</td>
            <td style="background-color:yellow;">Sub-Total</td>
            <td style="background-color:yellow;">Delete</td>

        </tr>
    </thead>
    <tbody>
        <?php $i = 1; ?>
        <?php foreach($this->cart->contents() as $items): ?>

        <?php echo form_hidden('rowid[]', $items['rowid']); ?>
        <tr <?php if($i&1){ echo 'class="alt"'; }?>>
            <td>
                <?php echo form_input(array('name' => 'qty[]', 'value' => $items['qty'], 'maxlength' => '3', 'size' => '5')); ?>
            </td>
            <td><a style="font-size:11px;"><?php echo $items['id']?></a></td>
            <td><a style="font-size:11px;"><?php echo $items['name']; ?></a></td>
            <td><a style="font-size:11px;"><?php echo $items['warna']?></a></td>
            <td><a style="font-size:11px;">Rp. <?php echo number_format($items['price'],0,",",".");?></a></td>
            <td><a style="font-size:11px;">Rp. <?php echo number_format($items['subtotal'],0,",",".");?></a></td>
            <td><a href="<?= base_url();?>cart/delete/<?= $items['rowid'];?>"><img src="<?= base_url();?>assets/image/hapus.png"></img></a></td>
        </tr>

        <?php $i++; ?>
        <?php endforeach; ?>
        <tr>
            <td colspan="5"><strong>Total</strong></td>
            <td colspan="2"><a align="right"><?php echo $this->cart->format_number($this->cart->total()); ?></a></td>
        </tr>
    </tbody>
</table>

<p><?php echo "<input type='submit' class='Button' value='Update'>";?></p>
<?php 
echo form_close(); 
endif;
?>

bearbeitet die Ansicht, vollständigen code.
wenn ich auf die update-Schaltfläche, es hat einen Fehler zurückgegeben live vor.
danke.

  • Welchen Wert erwarten Sie zu erhalten, aus $this->input->post('rowid')?
  • die rowid der Elemente
  • in welchem format? wie ein array? können Sie ein Beispiel geben, das Wert?
  • was ist der Wert von $item?
  • Können Sie uns zeigen das generierte markup? Vielleicht gibt es einen nicht geschlossenen tag VOR der Ansicht-snippet, das Sie uns zeigte,...?
  • bearbeitet die Ansicht
  • Wie funktioniert $this->cart->total_items() Arbeit?
  • wie es scheint, gibt es so etwas wie die gesamten Artikel, die ich hinzufügen in den Warenkorb gelegt. zum Beispiel wenn ich 300 der Menge ein Element gibt es 300
  • Aber das spiegelt die Anzahl der Elemente, bevor das Formular gepostet wird, richtig?
  • versucht print_r($items) und ich habe diese Array ( [rowid] => 0858ccdaef1d711a2eff18911cf79c51 [id] => 200508000100 [qty] => 300 [warna] => [Preis] => 35000.0000 [name] => AKKU HI-TECH H-38 [Zwischensumme] => 10500000 ) 1
  • Die zweite Liste ist nicht so relevant für die Fehler. Bitte siehe meine Antwort unten.

InformationsquelleAutor mabbs | 2013-10-30
Schreibe einen Kommentar