Categories > TinyButStrong general (FR) >

Astuce pour une liste d'items séparés par une virgule

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: TiTi
Date: 2006-08-23
Time: 15:42

Astuce pour une liste d'items séparés par une virgule

Petite astuce si vous avez stockez plusieurs éléments dans un tableau et souhaitez les afficher à la suite, séparés par une virgule :

On va dire que les éléments ont été récupérés depuis la BDD comme ceci (côté php) :
$reponse = mysql_query("SELECT id, titre FROM elements");
while ($d = mysql_fetch_array($reponse))
{
$mesitems[]= array('id'=>$d['id'], 'titre'=>stripslashes($d['titre']));
}

Puis du côté HTML, dans le template :
<span>[mesitems.titre;block=(span);bmagnet=(span)], </span>

Le problème est la gestion de la virgule.... Actuellement il restera toujours une virgule et un espace à la fin. Voici comment je gérerais la chose :

<span>[mesitems.#;if [val]!=1;then ', ';else ''][mesitems.titre;block=(span);bmagnet=(span)]</span>

En fait je mets la virgule devant et je dis de l'afficher uniquement si on n'est pas dans l'enregistrement n°1 !
Attention à bien utiliser le "else" sinon le numéro d'enregistrement va s'afficher...

;)

Je ne prétends pas connaître la meilleure solution, c'est juste la meilleure qui m'est venue à l'esprit ! Si vous avez d'autres 'tips & tricks' n'hésitez pas, partagez !!