par
Merlinwp » 05 mai 2009, 19:43
Bonjour,
J'ai à nouveau besoin de vos lumières !
En effet, je dois utiliser une boucle foreach, mais je veux que les éléments ne s'affichent qu'une fois.
Voici mon code de travail :
<?php
$source = get_post_meta($post->ID, 'source', false);
// Le fonctionnement de mon Cms impose cette ligne
// Mes variables $source sont séparées par des virgules
if ($source)
{
foreach($source as $ts)
{
// "ts" est le nom de la variable temporaire
list($urlts, $namets) = explode(",", $ts);
$resultts = count($source);
if ($resultts == 1)
{
echo '<p>';
echo 'Source :';
echo $urlts; // Pour simplifier l'exemple, je ne mentionne pas l'affichage de $namets
echo '</p>';
}
else
{
echo '<p>';
echo 'Sources :';
echo '</p>';
echo '<ol>';
echo '<li>"'.$urlts.'"</li>'; // Pour simplifier l'exemple, je ne mentionne pas l'affichage de $namets
echo '</ol>';
}
}
}
Le premier cas (une seule
source) fonctionne fort bien.
Cependant, et très "logiquement", dans le deuxième cas, ma boucle est effectuée deux fois, et affiche deux fois
Sources, etc... Or, je ne veux qu'un affichage, sinon il ne servirait à rien d'afficher une liste.
Peut-être me suis-je égaré...
Merci.
Cordialement,
Merlin
Bonjour,
J'ai à nouveau besoin de vos lumières !
En effet, je dois utiliser une boucle foreach, mais je veux que les éléments ne s'affichent qu'une fois.
Voici mon code de travail :
[php]
<?php
$source = get_post_meta($post->ID, 'source', false);
// Le fonctionnement de mon Cms impose cette ligne
// Mes variables $source sont séparées par des virgules
if ($source)
{
foreach($source as $ts)
{
// "ts" est le nom de la variable temporaire
list($urlts, $namets) = explode(",", $ts);
$resultts = count($source);
if ($resultts == 1)
{
echo '<p>';
echo 'Source :';
echo $urlts; // Pour simplifier l'exemple, je ne mentionne pas l'affichage de $namets
echo '</p>';
}
else
{
echo '<p>';
echo 'Sources :';
echo '</p>';
echo '<ol>';
echo '<li>"'.$urlts.'"</li>'; // Pour simplifier l'exemple, je ne mentionne pas l'affichage de $namets
echo '</ol>';
}
}
}
[/php]
Le premier cas (une seule [i]source[/i]) fonctionne fort bien.
Cependant, et très "logiquement", dans le deuxième cas, ma boucle est effectuée deux fois, et affiche deux fois [i]Sources[/i], etc... Or, je ne veux qu'un affichage, sinon il ne servirait à rien d'afficher une liste. :)
Peut-être me suis-je égaré...
Merci.
Cordialement,
Merlin