Page 1 sur 1

Réduire un while

Posté : 06 févr. 2008, 18:08
par sff
Bonjours, j'aimerai réduire le code ce dessous parceque
$update = update sql; $history = insert sql; mymail(); $page .= reg_premium_end() sont répété 4 fois.

mais je sais pas de quelle moyen. Vous avez une idée?

Merci

Code : Tout sélectionner

switch ($premiumrow['nb_allopass']) { case 1: if(ereg('ERR', $r[0]) || ereg('NOK', $r[0])){$page .= $error;}else{ $update = update sql; $history = insert sql; mymail(); $page .= reg_premium_end(); } break; case 2: if(ereg('ERR', $r[2]) || ereg('NOK', $r[2])){$page .= $error;}else{ $update = update sql; $history = insert sql; mymail(); $page .= reg_premium_end(); } break; case 3: if(ereg('ERR', $r[4]) || ereg('NOK', $r[4])){$page .= $error;}else{ $update = update sql; $history = insert sql; mymail(); $page .= reg_premium_end(); } break; case 4: if(ereg('ERR', $r[6]) || ereg('NOK', $r[6])){$page .= $error;}else{ $update = update sql; $history = insert sql; mymail(); $page .= reg_premium_end(); } break; }

Posté : 06 févr. 2008, 18:20
par h0_noMan
Quelque chose comme ceci :
$nb = $premiumrow['nb_allopass'] ;
$i  = ($nb-1)*2 ;

if( !isset($r[$i]) || ereg('ERR', $r[$i]) || ereg('NOK', $r[$i]) )
{
    $page .= $error ;

}else{
    
    $update = update sql; 
    $history = insert sql; 
    mymail(); 
    $page .= reg_premium_end();
}
Edit : Et il me semble que cela resoud aussi ton autre probleme
Tu n'es plus limité a 4 code avec ma methode.