Bonjour,
j'aimerai crée un tableau avec des catégories et des sous-catégories.Pour ne pas mélanger le php et le html , j'ai mis les requêtes sql dans une page à part.De cette manière c'est plus clair pour lire les lignes de code.J'arrive a afficher les titres de catégories, mais je n'arrive pas à afficher les sous catégories liées a la catégorie par l' "id" de la catégorie.
En effet, pour afficher les sous catégories, je dois tenir compte de la boucle ("foreach") que j'ai fait pour afficher toutes les infos de la table catégories y compris l'id de la catégorie.Si je fais une appel de fonction dans laquelle j'ai mis la requête pour afficher les sous catégories.J'ai un message d'erreur. En gros il ne sait pas d'où vient " $cat['id'] ". Je ne sais pas ce que je dois mettre dans la fonction pour que l'id de la catégorie soit reconnue.Je crois que je dois mettre une boucle foreach dans la fonction "souscat()" (cette fonction est dans la page "categorie.func.php").
categories.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php //La fonction qui affiche les catégories du forum function infos_cat(){ global $db; $categories=$db->query("SELECT * FROM categories") or die ('Erreur SQL !<br />'.mysql_error()); $cats=$categories->fetchAll(PDO::FETCH_ASSOC); return $cats; } //la fonction qui recherche les forums liés à la catégorie function souscat(){ global $db; } ?>
Je suis vraiment bloque.Merci de m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <?php //appel de la fonction $cats=infos_cat(); //var_dump($cats); ?> <p><a href="index.php?page=add"> Creer une discussion </a></p> <?php foreach($cats as $cat):?> <table class="table table-bordered" > <thead> <tr> <th > <?php echo utf8_encode($cat['titre']);?></th> <th>dernier message</th> </tr> </thead> <tbody> <?php //cette requete (ci-dessous) marche si je la met dans la boucle foreach. //Mais si je la met dans une autre page categorie.func.php et que j'appelle la fonction //il ne reconnait pas l'id de la categorie (categorie_id={$cat['id']}) //requete pour afficher les sous titres /*$sql="select * from forum where categorie_id={$cat['id']}"; $rows=$db->query($sql); $forums = $rows->fetchall();*/ foreach($forums as $forum):?> <tr> <!--titre forum--> <td width="30%"> <a href="#"><?php //echo $forum['titre'];?></a> </td> <!--dernier topic--> <td width="30%"> </td> </tr> <?php endforeach; ?> </tbody> <!--fin table--> </table> <?php endforeach; ?>
Partager