codice:
   for ($w=0;$w<$numrighe;$w++) {
   $riga=leggi_riga($result);
   
   if (!in_array($riga['p_n'],$arra_pn)) $arra_pn[]=$riga['p_n'];
   
   $arra_loading[$w][0]=$riga['p_n'];
   $arra_loading[$w][1]=$riga['description'];
   $arra_loading[$w][2]=$riga['meas_unit'];
   
        unset($quantity_un);
        $q_1=esegui_query("select quantity from unloading where date_out<='$filtri[0]' and load_id='$riga[load_id]'");
	for ($t=0;$t<tot_record($q_1);$t++) {
	$riga_1=leggi_riga($q_1);
	$quantity_un=$quantity_un+$riga_1['quantity'];}
	
   $arra_loading[$w][3]=$riga['quantity']-$quantity_un;
   
        unset($costo);
	if ($riga['unit_cost']>0) { $costo=$riga['unit_cost'];}
	else {                      $costo=order_cost($sys_par,$riga['order_n'],$riga['p_n']);}
	
   $arra_loading[$w][4]=$arra_loading[$w][3]*$costo;	
   
   }

E la funzione richiamata "order_cost" è questa (se commendo la funzione non va in timeout quindi credo che il problema sia lei)




codice:
function order_cost($sys_par,$order_n,$p_n) {
   
   $ritorno=0;
   $q2=esegui_query("select order_n,p_n,estim_cost from order_pn");
   $tot_2=tot_record($q2);
   
   for($r=0;$r<$tot_2;$r++) {
   $riga2=leggi_riga($q2);
   $arra_order[$r][0]=$riga2['order_n'];
   $arra_order[$r][1]=$riga2['p_n'];
   $arra_order[$r][2]=$riga2['estim_cost'];   }
   
   if ($sys_par=="Y") { 
        //cerco costo
    for ($w=0;$w<$tot_2;$w++) { 
      if ($arra_order[$w][0]==$order_n) {
        if ($arra_order[$w][1]==$p_n) {
            $ritorno=$arra_order[$w][2];
        }}
    }             
   } 
   return $ritorno;


}
illuminatemi