Affichage des sous-catégories d'un forum
- Accueil
- Forum
- Programmation
- PHP
- Affichage des sous-catégories d'un forum
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 :
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 :
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 Le 8 août 2020 à 11:50 (Édité le 1 janvier 1970 à 01:00)
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 Le 13 août 2020 à 21:31 (Édité le 1 janvier 1970 à 01:00)
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 Le 11 septembre 2020 à 16:23 (Édité le 1 janvier 1970 à 01:00)