Affichage des sous-catégories d'un forum

Hardy_14

Hardy_14 Le 4 août 2020 à 01:25 (Édité le 4 août 2020 à 09:23)

Bonsoir à tous,

J'ai un problème avec l'affichage d'un sous-catégories avec catégories du forum.

J'ai créé deux catégories dans une table f_categories : Matières et Périphériques.

Ensuite j'ai créé les sous-catégories dans ma table f_souscategories.

Le problème ce que les sous-catégories des Matières est affiché ensemble avec les sous-catégories des Périphériques :

Forum Alors que les sous-catégories des Périphériques ce sont : Souris et Clavier. J'ai bien indiqué dans la table f_souscategories que l'id_categorie 1 est la sous catégories de Matières et que l'id_categorie 2 est la sous catégories de Périphériques :

Image - 1

Voici le code de la page où sont affichés les catégories et sous-catégories :

<table class="forum">
    <tr class="header">
        <th class="main">Catégories</th>
        <th class="sub-info1">Messages</th>
        <th class="sub-info">Dernier message</th>
    </tr>
    <?php
    $souscategories = '';
    while($c = $categories->fetch()) {
        $subcat->execute(array($c['id']));
        while ($sc = $subcat->fetch()) {
            $souscategories .= '<a href="">'.$sc['name'].'</a> | ';
        }
    $souscategories = substr($souscategories, 0, -3);
     ?>
    <tr>
        <td class="main">
            <h4><a href=""><?= $c['name'] ?></a></h4>
            <p><?= $souscategories ?></p>
        </td>
        <td class="sub-info">4083495</td>
        <td class="sub-info">04.12.2015 à 14h52<br />de Admin</td>
    </tr>
    <?php } ?>
</table>

Merci d'avance pour votre réponse

Blaise

R00T

R00T Le 8 août 2020 à 11:50

Bonjour, Selon moi tu utilises mal la fonction substr(). Ce que tu peux essayer c'est de retirer la ligne 14 et rajouter $souscategories =''; avant la fin du while à la ligne 24. Ce que je te conseil pour exactement savoir ce qui se passe lors de l'éxécution du code c'est dea rajouter un var_dump($souscategories); avant et/ou après la ligne 14.

J'espere avoir pu t'aider ;)

PrimFX

PrimFX Le 13 août 2020 à 21:31

Bonjour @Hardy_14,

Je pense que la piste de @R00T est effectivement la bonne.

Une idée très similaire serait simplement d'inverser tes lignes 8 et 9, ce qui te permettrait de réinitialiser ta chaîne de caractères $souscategories à chaque catégorie affichée. En fait, le problème comme @R00T te l'a fait remarquer est que tes sous-catégories d'une catégorie sont concaténées avec les suivantes sans jamais être réinitialisées.

N'hésite pas à nous indiquer si ça permet de résoudre le problème rencontré 😉

A bientôt,

PrimFX

Hardy_14

Hardy_14 Le 11 septembre 2020 à 16:23

Bonjour @ROOT, @PrimFX

Je m'excuse de vous répondre en retard, j'ai déjà résolu le problème. J'ai mal mis la variable souscategories dans la ligne 14. Je vous remercie pour vos réponses.

Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte