da quanto ho capito il problema sono i foreach e come vengono gestiti da CI.
il controller mi restituisce i risultati giusti.
10 array di oggetti ben valorizzati.
il problema è nella view.
Codice PHP:
<?php foreach ($articolo as $var): ?> 
    <div id="img_articolo">
        <?php
        
echo img(array(
            
'src' => 'http://www.chiarabaschieri.it/ESHOP/pe2012/small/' str_replace('\\''-'$var->art_modello) . '.jpg',
            
'class' => 'img_zoom',
            
'width' => '1024',
            
'height' => '768'
        
));
        
?>
    </div>
    <div id="dtl_articolo">
        <?php
        
foreach ($quantita as $qt): // PRENDO LE QUANTITA
            
$giacId $qt->giac_id;
            
$upQt $qt->giac_qt;
            
print_r($qt->giac_qt);
        endforeach;
        
?>
        

<?php echo $var->art_modello?></p>
        

<?php echo $var->$lang['allDesc']; ?></p>
        <table border="1">
            <tr>
                <td></td>
                <?php foreach ($taglie as $tg): ?>
                    <td><?php echo $tg->tg_taglia?></td>
                <?php endforeach; ?>
            </tr>
            <?php foreach ($coloriQt as $cq): ?>
                <tr>
                    <td><?php echo $cq->colore_ita?></td>
                    <?php foreach ($taglie as $tgQt): ?> 
                        <td>
                            <input type="text" value="<?php echo $upQt?>" name="qt_gc[]" size="2" onkeypress="return soloNumeri(event);" />
                            <input type="hidden" value="<?php echo $giacId?>" name="id_gc[]" size="2" />
                            <input type="hidden" value="<?php echo $tgQt->tg_id?>" name="tg_gc[]" size="2" />
                            <input type="hidden" value="<?php echo $cq->colore_id?>" name="cl_gc[]" size="2" />
                        </td>
                    <?php endforeach; ?>
                </tr>
            <?php endforeach; ?>
        </table>
    </div>
    <div class="clear"></div>
<?php endforeach; ?>
se metto il ciclo delle quantità la, ottengo i valori giusti, e non ripetuti.
il problema è che la input viene valorizzata sempre con l'ultimo valore.

se qualcuno ha un suggerimento mi farebbe un gran favore, sennò sarò costretto ad abbandonare CI e fare a mano