Non conoscendo come hai definito gli oggetti in questione, posso solo fare un ipotesi:
Nella prima riga, mi pare, prendi TUTTE le taglie disponibili, mentre nella seconda ci sono SOLO quelle ordinate. Quindi, sempre per ipotesi, i due foreach hanno dimensioni diverse => ti sfalsa l'accoppiamento taglia-quantità.
Credo che dovresti fare qualcosa del tipo:
Codice PHP:
<?php
foreach($this->collezioni_model->getTaglieDaScalarino ...): ?>
<th><?php echo $tg->tg_taglia; ?></th>
<?php
endforeach;
foreach($this->collezioni_model->getTaglieDaScalarino ...): ?>
<th>
<?php
if($tg->tg_taglia è presente in ordini_model->f($clienteId, $rigord->art_modello,$tg->tg_taglia ))
echo ordini_model->f(cliente, articolo,$tg->tg_taglia );
else
echo "0";
?>
</th>
<?php
endforeach;
?>
Come ho detto sto andando per intuizione...