GAGA Template

XLetter

Titre

Comportement étrange du foreach

Sujet résolu

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Page : 1
Maz Posté le 21/09/2008 10:32 - #

Membre
29 messages
18 ans
Bonjour, j'essaie toujours d'intégrer le système de template à mon site en local, et j'ai encore un problème qui se pose, c'est pour le scripts de news, j'aimerais utiliser foreach, mais il se comportes bizarrement, alors je sais pas trop où j'ai foiré.
mon php est le suivant:
<?php
        include 'fonctions/date.php';
        include 'fonctions/pagination.php';
        $connexionSql->query('SELECT n.*, m.`pseudo`, m.`id` AS `id_user`
                FROM `news` AS n, `membres` AS m
                WHERE n.`id_auteur` = m.`id`
                ORDER BY `date` DESC LIMIT 0, 5'
, 0);
        $i = 0;
        while($news = $connexionSql->resultat(0))
        {
                $tpl->assign('liste_news', array(
                        'titre' => $news['titre'],
                        'id_auteur' => $news['id_auteur'],
                        'pseudo_auteur' => $news['pseudo'],
                        'date' => getDateFr($news['date']),
                        'texte' => $news['texte'],
                        'texte_suite' => $news['texte_suite'],
                        'i' => $i,
                        'id' => $news['id'],
                        'nb_commentaires' => $news['nbre_commentaires']
                ));
                $i++;
        }
        $tpl->parse('news.tpl');
?>


et mon .tpl:
<foreach var="$liste_news" as="x">
<h3>{x[titre]}</h3>
<div class="contenu auteur">Postée par <a href="membres-{x[id_auteur]}-{x[pseudo_auteur]}.html" title="Voir la profil de {x[pseudo_auteur]}">{x[pseudo_auteur]}</a> {x[date]}</div>
<div class="contenu">{x[texte]}</div>
<div class="contenu" style="display:none;" id="news-{x[i]}">{x[texte_suite]}</div>
<div class="contenu"><a href="javascript:none;" class="bouton-slide" id="ews-{x[i]}">Lire la suite de la news</a> - <a href="news-commentaires-{x[id]}.html" rel="facebox">
<if cond="$x[nb_commentaires] == 0">Aucun commentaires
<elseif cond="$x[nb_commentaires] == 1">1 commentaire
<else>{x[nb_commentaires]} commentaires
</if></a></div>
</foreach>


La fonction resultat() de ma class mysql est un simple fetch_array().

Mon problème est que, plutôt que de m'afficher mes news, il m'affiches des caractères(lettre ou chiffre), en remplacement. 1Lettre par news, commune à toutes les variable, un screenshot vous aideras à comprendre: clic(attention grosse résolution).

Je ne comprends pas bien mon erreur.

Merci d'avance.

EDIT: j'ai trouvé mon erreur: j'utilisais un assign, alors qu'apparement il fallais un assign_array pour les foreach. Désolé pour la polution.

Edité par Maz le 21/09/2008 12:38

Page : 1

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Retour au forum Balises, à la liste des forums, ou au haut de page