_Bonjour,

voici mon code PHP :

<div id="conteneur">
    <div class="contenu">
    <div id="content">
            <?php
                $query = "SELECT * FROM articles ORDER BY date";
                $sql = mysql_query($query);
                while ($data = mysql_fetch_assoc($sql)) { ?>
                <div class="post">
                    <h1><a href="./article/<?php echo $data'url']; ?>-<?php echo $data'id']; ?>" rel="bookmark"><?php echo $data'titre']; ?></a></h1>
                    <?php
                    $id_articles = $data'id'];
                    $query2 = "SELECT * FROM categories WHERE id = ".$id_articles."";
                    $sql2 = mysql_query($query2);
                    $data2 = $data2 = mysql_fetch_assoc($sql2);
                    ?>
                    <div class="categorie"><a href="./categorie/<?php echo $data2'url']; ?>"><?php echo $data2'nom']; ?></a></div>
                    <div class="postcontent"><?php echo $data'contenu']; ?></div>
                    <?php
                    $query3 = "SELECT * FROM commentaires WHERE article_id = ".$id_articles."";
                    $sql3 = mysql_query($query3);
                    ?>
                    <div class="commentaires">
                        <img src="style/bulles.png" alt="commentaires"/> <a href="./article/<?php echo $data'url']; ?>-<?php echo $data'id']; ?>" title="Commentaire sur l'article <?php echo $data'titre']; ?> "><?php echo mysql_num_rows($sql3); ?> commentaires</a>
                    </div>
                </div>
                   <?php
                }
            ?>
        </div>
    </div>
</div>

Mon problème : Le nom de la catégorie n'est afficher que quand elle change...

Par exemple: j'ai deux catégorie, une qui s'appel "Annonces" et l'autre "Archives". j'ai deux articles par catégorie, et quand le nom de la catégorie doit apparaître, il apparaît que une seul fois au lieu de deux...

J'expliquerais mieux si vous ne comprenez pas ;)

Merci d'avance pour vos aides !

PS : je sais c'est pas très bien fait, mais c'est juste un test ;) _

4 réponses


Shade
Auteur
Réponse acceptée

J'ai trouver pourquoi, désoler d'avoir poster inutilement cette question c'était une erreur d'étourderie...

Dans ma requête MySQL pour trouver la catégorie, je chercher par l'id de mon article et nom l'id de la catégorie...

Merci quand même !

Oula, j'ai pas tout compris :)

Si tu aurai un exemple de ce que tu veux que ça donne au final ?

Exemple

Catégorie 1
Article 1
Article 2
Catégorie 2
Article 1
Article 2
Article 3

?????

Ou un truc comme sur ce blog

===================================
Nom de l'article ============== Nom de la cat
===Contenue =====
==================================

===================================
Nom de l'article2 ============== Nom de la cat2
===Contenue2 =====
Shade
Auteur

La présentation c'est comme sa :

===================================
Nom de l'article2 ============== Nom de la cat2
===Contenue2 =====
==================================

avec ma base mysql sa donne quatre news :

===================================
Annonce 1 ============== Catégorie -> TEST
=== Ouverture =====
==================================
===================================
Annonce 2 ============== Catégorie -> TEST2
=== Fermeture =====
==================================
===================================
Annonce 3 ============== Catégorie -> Elle s'affiche pas !! = Problème
=== ReOuverture =====
==================================
===================================
Annonce 4 ============== Catégorie -> Elle s'affiche pas !! = Problème
=== ReFermeture =====
==================================

Mon problème, c'est que quand il y'a plusieurs Articles dans la même catégorie, le nom de la catégorie ne s'affiche pas.

J'ai tenté de comprendre comment tu veux relier tes article à leur cat, mais je pas trop compris

Tes sur que pour les autre article tu à les liaison dans ta base ?

Alors voila comment j'aurai procédé

donc une table articles

id cat_id titre contenu date ex.........

Puis une table catégories

id titre

après pour afficher toute les news avec leur cat

// Donc la tu fait ta boucle qui à afficher les article
$query = "SELECT * FROM articles ORDER BY date";  
$sql = mysql_query($query); 
while ($article = mysql_fetch_assoc($sql)) 
{
    // tu récupere les info sur la categorie
    $query2 = "SELECT * FROM categories WHERE id = ". $article"cat_id"] ."";
    $sql2 = mysql_query($query2);
    $cat = mysql_fetch_assoc($sql2);
    // et la tu affiche à utilisent ta présentation
    // j'affiche juste rapidement les info pour l'exemple
    echo "Mon article " . $article"titre"] . " qui appartient à ma catégorie " . $cat"titre"] . " et qui a le contenue suivent <br><br> " . $article"titre"] . " <br><br>";
}

Donc la pour chaque article tu lui indique l'id de la cat à la quel il appartient.