Código PHP:
$w=array(40,55,63,37,40,40);
...
...
...
//posy contiene las coordenadas en Y de la primer fila que voy a colocar
$posy=121;
foreach($totalcon as $row){
if($page>3){
$page=1;
$this->AddPage('L');
$posy=50;
}
$this->SetXY(10,$posy);
$this->Cell($w[0],6,utf8_decode($row['0']['industrial']),'LBRT',0,'L',$fill);
$this->Cell($w[1],6,utf8_decode($row['apercuentas']['ton_conf']),'LBRT',0,'L',$fill);
$this->Cell($w[2],6,utf8_decode($row['ordenes']['retirar']),'LBRT',0,'L',$fill);
$this->Cell($w[3],6,utf8_decode($row['bodegas']['nombre']),'LBRT',0,'L',$fill);
//=================================Inicia====================================
//calcula donde colocar los MultiCell
//por cada coma (,) que encuentra da unsalto de lina para dividir cada chofer
//aqui coloco el primer multicell, con lo que la siguiente por defecto se colocaria abajo (siguiente fila)
$this->MultiCell($w[4],6,utf8_decode(str_replace(",","\n",$row['ordenes']['nombre'])),'LBRT',0,'L',$fill);
//Aqui regreso para que no lo coloque abajo $this->SetXY(Valor_que_ya_conosco,$posy)
$this->SetXY(245,$posy);
//por cada numero de placas da un salto de linea
$this->MultiCell($w[5],6,str_replace(",","\n",$row['ordenes']['placas']),'LBTR',1,'L',$fill);
//=================================Termina==================================
//Mi registro viene dividido por comas (usuario1,usuario2,etc), es por eso que sabia cuando saltos dio
$br[0]=explode(',',$row['ordenes']['nombre']);
$br[1]=explode(',',$row['ordenes']['placas']);
$this->Ln();
$fill=!$fill;
//=================================Inicia===================================
//calcula cuanto va a bajar el campo de placas, y asi colocar la siguiente fila
$br[0]>$br[1]?$posy+=(sizeof($br[0])*6):$posy+=(sizeof($br[1])*6)+6;
//=================================Termina=================================
$page++;
}
te paso esto, las partes que te deberian de ayudar son las que encierro entre los comentarios //==inicia y //==termina.
suerte