Optimiser ce code

Résolu
Rom1sab Messages postés 46 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 12 décembre 2015 - 26 déc. 2012 à 07:00
Rom1sab Messages postés 46 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 12 décembre 2015 - 26 déc. 2012 à 13:03
Bonjour,
j'aimerais une boucle pour remplacer ce code horrible.
---
<?php
if ($x==1){$linedessus=$ligne1; $linedessous=$ligne3; $line=$ligne2;}
if ($x==2){$linedessus=$ligne2; $linedessous=$ligne4; $line=$ligne3;}
if ($x==3){$linedessus=$ligne3; $linedessous=$ligne5; $line=$ligne4;}
if ($x==4){$linedessus=$ligne4; $linedessous=$ligne6; $line=$ligne5;}
if ($x==5){$linedessus=$ligne5; $linedessous=$ligne7; $line=$ligne6;}
if ($x==6){$linedessus=$ligne6; $linedessous=$ligne8; $line=$ligne7;}
if ($x==7){$linedessus=$ligne7; $linedessous=$ligne9; $line=$ligne8;}
if ($x==8){$linedessus=$ligne8; $linedessous=$ligne10; $line=$ligne9;}
if ($x==9){$linedessus=$ligne9; $linedessous=$ligne11; $line=$ligne10;}
if ($x==10){$linedessus=$ligne10; $linedessous=$ligne12; $line=$ligne11;}
if ($x==11){$linedessus=$ligne11; $linedessous=$ligne13; $line=$ligne12;}
if ($x==12){$linedessus=$ligne12; $linedessous=$ligne14; $line=$ligne13;}
if ($x==13){$linedessus=$ligne13; $linedessous=$ligne15; $line=$ligne14;}
if ($x==14){$linedessus=$ligne14; $linedessous=$ligne16; $line=$ligne15;}
if ($x==15){$linedessus=$ligne15; $linedessous=$ligne17; $line=$ligne16;}
if ($x==16){$linedessus=$ligne16; $linedessous=$ligne18; $line=$ligne17;}
if ($x==17){$linedessus=$ligne17; $linedessous=$ligne19; $line=$ligne18;}
if ($x==18){$linedessus=$ligne18; $linedessous=$ligne20; $line=$ligne19;}
if ($x==19){$linedessus=$ligne19; $linedessous=$ligne21; $line=$ligne20;}
if ($x==20){$linedessus=$ligne20; $linedessous=$ligne22; $line=$ligne21;}
if ($x==21){$linedessus=$ligne21; $linedessous=$ligne23; $line=$ligne22;}
if ($x==22){$linedessus=$ligne22; $linedessous=$ligne24; $line=$ligne23;}
if ($x==23){$linedessus=$ligne23; $linedessous=$ligne25; $line=$ligne24;}
if ($x==24){$linedessus=$ligne24; $linedessous=$ligne26; $line=$ligne25;}
if ($x==25){$linedessus=$ligne25; $linedessous=$ligne27; $line=$ligne26;}
if ($x==26){$linedessus=$ligne26; $linedessous=$ligne28; $line=$ligne27;}
if ($x==27){$linedessus=$ligne27; $linedessous=$ligne29; $line=$ligne28;}
if ($x==28){$linedessus=$ligne28; $linedessous=$ligne30; $line=$ligne29;}
if ($x==29){$linedessus=$ligne29; $linedessous=$ligne31; $line=$ligne30;}
if ($x==30){$linedessus=$ligne30; $linedessous=$ligne32; $line=$ligne31;}
if ($x==31){$linedessus=$ligne31; $linedessous=$ligne33; $line=$ligne32;}
if ($x==32){$linedessus=$ligne32; $linedessous=$ligne34; $line=$ligne33;}
if ($x==33){$linedessus=$ligne33; $linedessous=$ligne35; $line=$ligne34;}
if ($x==34){$linedessus=$ligne34; $linedessous=$ligne36; $line=$ligne35;}
if ($x==35){$linedessus=$ligne35; $linedessous=$ligne37; $line=$ligne36;}
if ($x==36){$linedessus=$ligne36; $linedessous=$ligne38; $line=$ligne37;}
if ($x==37){$linedessus=$ligne37; $linedessous=$ligne39; $line=$ligne38;}
if ($x==38){$linedessus=$ligne38; $linedessous=$ligne40; $line=$ligne39;}
if ($x==39){$linedessus=$ligne39; $linedessous=$ligne41; $line=$ligne40;}
if ($x==40){$linedessus=$ligne40; $linedessous=$ligne42; $line=$ligne41;}
if ($x==41){$linedessus=$ligne41; $linedessous=$ligne43; $line=$ligne42;}
if ($x==42){$linedessus=$ligne42; $linedessous=$ligne44; $line=$ligne43;}
if ($x==43){$linedessus=$ligne43; $linedessous=$ligne45; $line=$ligne44;}
if ($x==44){$linedessus=$ligne44; $linedessous=$ligne46; $line=$ligne45;}
if ($x==45){$linedessus=$ligne45; $linedessous=$ligne47; $line=$ligne46;}
if ($x==46){$linedessus=$ligne46; $linedessous=$ligne48; $line=$ligne47;}
if ($x==47){$linedessus=$ligne47; $linedessous=$ligne49; $line=$ligne48;}
if ($x==48){$linedessus=$ligne48; $linedessous=$ligne50; $line=$ligne49;}
if ($x==49){$linedessus=$ligne49; $linedessous=$ligne51; $line=$ligne50;}
if ($x==50){$linedessus=$ligne50; $linedessous=$ligne52; $line=$ligne51;}
?>
---
Merci

5 réponses

Rom1sab Messages postés 46 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 12 décembre 2015 3
26 déc. 2012 à 13:03
version courte et focntionnelle:

$linedessus=${ligne.$x};
$linedessous=${ligne.($x+2)};
$line=${ligne.($x+1)};

Merci à mon ami omnos.fr
3
sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013
26 déc. 2012 à 12:06
Bonjour,

Plutôt que d'avoir 52 variables $ligne... tu pourrais utiliser un tableau...

ainsi tu pourrais te simplifier la vie :
for($i=0;$i<$x:$i++){
   if ($x==$i){$linedessus=$ligne[$i]; $linedessous=$ligne[$i+2]; $line=$ligne[$i+1];}
}
0
Rom1sab Messages postés 46 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 12 décembre 2015 3
26 déc. 2012 à 12:32
Tu n'a pas compris mon problème.
Mon code marche, quand j'écrit ligne50, c'est ligne50, pas ligne[50].
J'ai déjà 50 variables lignes qui sont des tableaux.
J'ai essayé de faire un truc avec $$variable=$nom mais cul de sac...
0
Rom1sab Messages postés 46 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 12 décembre 2015 3
26 déc. 2012 à 12:36
j'ai aussi utilisé $var='texte'.$var;
soit:
$temp='ligne'.$i;
$line=$$temp;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Rom1sab Messages postés 46 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 12 décembre 2015 3
26 déc. 2012 à 12:54
Solution:
if(($x>0) AND ($x<=50))
{
$x1=$x+1;
$x2=$x+2;
$linedessus=${ligne.$x};
$linedessous=${ligne.$x2};
$line=${ligne.$x1};
}
0
Rejoignez-nous