Simplifier un script

Eléphant du PHP | 294 Messages

25 sept. 2005, 12:44

Bonjour j'ai un script sur un bouton qui ouvre un pop up ou un autre selon une condition, le probleme c'est que ma liste de condition s'allonge et je voulais savoir s'il y avait moyen d'en simplifier l'ecriture.

Code : Tout sélectionner

<a href="#" onClick="open_windowfiche('<?php if (($row_rsMclefs['categorieID'] == "11")||($row_rsMclefs['categorieID'] == "12")||($row_rsMclefs['categorieID'] == "13")||($row_rsMclefs['categorieID'] == "14")||($row_rsMclefs['categorieID'] == "15")||($row_rsMclefs['categorieID'] == "16")||($row_rsMclefs['categorieID'] == "22")||($row_rsMclefs['categorieID'] == "23")||($row_rsMclefs['categorieID'] == "27")||($row_rsMclefs['categorieID'] == "28")||($row_rsMclefs['categorieID'] == "29")||($row_rsMclefs['categorieID'] == "30")){echo("fiche2");} else {echo("fiche");} ?>.php?VARarticles=<?php echo $row_rsMclefs['ID']; ?>','ficheArticle','width=481,height=509')"><img src="../imgs_db/<?php echo $row_rsMclefs['vignette']; ?>" alt="" name="vignette" border="0" align="left" /></a>
merci

Mammouth du PHP | 19672 Messages

25 sept. 2005, 12:59

Oui, on peut :
<?php
$cat = array(11, 12, 13, 14, 15, 16, 22, 23, 27, 28, 29, 30);
$fiche = in_array($row_rsMclefs['categorieID'], $cat) ? "fiche2" : "fiche";
?>
<a href="#" onClick="open_windowfiche('<?php echo($fiche); ?>.php?VARarticles=<?php echo $row_rsMclefs['ID']; ?>', 'ficheArticle', 'width=481,height=509')"><img src="../imgs_db/<?php echo $row_rsMclefs['vignette']; ?>" alt="" name="vignette" border="0" align="left" /></a> 
Le truc, c'est que tu mets les valeurs dans un tableau et tu vérifie la présence de la donnée dans ce tableau. Si une nouvelle valeur doit être ajoutée, tu l'ajoutes dans le tableau tout simplement sans toucher au lien lui-même.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 294 Messages

25 sept. 2005, 13:08

Judicieux , merci ça fonctionne