2010-04-16 5 views
1

Salut là dans ma base de données J'ai 3 colonnes, is_contract, is_permenant et is_temporary. Dans ces colonnes, il y a une valeur Y ou N. J'utilise ces colonnes pour faire écho sur la page quel type de travail quelqu'un cherche, mon problème est que l'utilisateur peut être à la recherche de plus d'un type de travail, je cours actuellement 3 déclarations pour déterminer ce que pour faire écho à la page, mais je me bats pour ajouter une virgule si plus d'un des statemnts revient aussi vrai, voici mon code jusqu'à présent,PHP aide de la boucle conditionnelle

<?php 
    if($rslt['is_contract'] == 'Y') { 
     echo "Contract "; 
} 
    if($rslt['is_permanent'] == 'Y') { 
     echo "Permanent "; 
} 
if($rslt['is_temporary'] == 'Y') { 
    echo "Temporary"; 
} 
?> 
+0

'if' est une instruction conditionnelle et non une boucle. une boucle est quelque chose de complètement différent – knittl

Répondre

5
<?php 
    $out=array(); 
    if($rslt['is_contract'] == 'Y') $out[]="Contract"; 
    if($rslt['is_permanent'] == 'Y') $out[]="Permanent"; 
    if($rslt['is_temporary'] == 'Y') $out[]="Temporary"; 
    echo implode(", ",$out); 
?> 
+0

C'est une manière tellement meilleure que mon compte les termes alors établissez le nombre de virgules, puis les sub dans la méthode ... –

0

Soit vous pouvez utiliser comme celui-ci dans un langage simple chemin

if($rslt['is_contract'] == 'Y') { 
     echo "Contract "; 
} 
    if($rslt['is_permanent'] == 'Y') { 
     if($rslt['is_contract'] == 'Y') { 
     echo ", "; 
     } 
     echo "Permanent "; 
     if($rslt['is_temporary'] == 'Y') { 
     echo ", "; 
     } 
} 
if($rslt['is_temporary'] == 'Y') { 
    if($rslt['is_contract'] == 'Y' && $rslt['is_permanent'] != 'Y') { 
     echo ", "; 
     } 
    echo "Temporary"; 
}