Aller au contenu

Affichage différent après le premier élément d'une boucle


Sujets conseillés

Posté

Bonjour,

J'utilise magpierss pour récupérer et afficher des listes de sujets sur des pages html, voici l'exemple d'un fichier qui récupère les sujets d'un flux rss:

<?php
// inclusion de la classe magpierss
require_once("magpierss/rss_fetch.inc");

function FeedParser($url_feed, $nb_items_affiches=5)
{
// lecture du fichier distant (flux XML)
$rss = fetch_rss($url_feed);

// si la lecture s'est bien passee, on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items, 0, $nb_items_affiches);

// debut de la liste (vous pouvez indiquer un style CSS pour la formater)
$html = "<ul>\n";

// boucle sur tous les elements
foreach ($items as $item)
{
$html .= "<li><a href=\"".$item['link']."\">".$item['title']."</a></li>\n";
}
$html .= "</ul>\n";
}

// retourne le code HTML a inclure dans la page
return $html;
}
?>

Sur ma page j'utilise ensuite ceci pour afficher cette liste:

<?php
require_once("parser.php");
echo FeedParser("http://www.example.com/lefluxrss.xml", 10);
?>

Dans cette liste, je voudrais afficher un élément qui ne fasse pas partie du flux, par exemple après le 3ème sujet récupéré, ce qui me donnerait à l'arrivée:

<ul>

<li>xxxxx</li>

<li>xxxxx</li>

<li>xxxxx</li>

<li>yyyyy</li>

<li>xxxxx</li>

<li>xxxxx</li>

<li>xxxxx</li>

<li>xxxxx</li>

<li>xxxxx</li>

<li>xxxxx</li>

<li>xxxxx</li>

</ul>

Comment faire pour afficher cet élément ne provenant pas du flux rss au milieu de la boucle dans la position souhaitée ?

Je ne connais pas bien le php et j'espère que j'ai su exprimer correctement ce que je voudrais obtenir. Merci d'avance pour votre aide.

Posté

Il te suffit d'ajouter un compteur, initialisé avant ta boucle, et incrémenté dans ta boucle :

<?php
$compteur = 0;
foreach ($items as $item)
{
$compteur++;
if($compteur == 4)
$html .= "<li><a href=\"tonurl\">ton texte</a></li>";
$html .= "<li><a href=\"".$item['link']."\">".$item['title']."</a></li>\n";
}
?>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...