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)
illuminatemicodice: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; }

Rispondi quotando