Réduire un while

sff
Petit nouveau ! | 3 Messages

06 févr. 2008, 18:08

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; }

Eléphant du PHP | 445 Messages

06 févr. 2008, 18:20

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.