Bonjour, je suis actuellement en développement d'un site dynamiquement, cependant moi qui veut gérer tous par interface () j'ai un petit problème que je suis rester dessus sans avoir trouver la réponse .
Après avoir fais quelques recherches et quelques test, j'ai pu tout simplement afficher que les catégories "principale". Je m'explique:
Je voudrais en faite rajouter des catégories et des sous catégorie d'une catégorie (), mais j'ai pu qu'afficher les "pères". Pour les sous catégorie je bloque et ne sais pas quel requête faire (Mise à part un SELECT , peut être une jointure .. =/).
Maintenant l'explication en image
Voila mon menu (Visuellement) :
Et voici les Tables ma Base de données :
Et les champs concernée :
Table Category :
Table sous_cat :
Et voici mon code:
index.php
__header.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
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70 <?php require 'class/__header.php' ; ?><!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Ludo Depannage Informatique</title> <link rel="stylesheet" href="css/global.css" /> </head> <body> <!-- BLOC WRAP / PAGE --> <div id="wrap"> <!-- BLOC MENU --> <div id="menu"> <?php $category = $DB->query('SELECT name_cat FROM category'); foreach ($category as $cat) { ?> <ul> <li> <a href="#"><?php echo $cat->name_cat ; ?></a> </li> </ul> <?php } ?> <!-- <ul> <li><a href="#">Accueil</a></li> <li> <a href="#">Composants</a> <ul> <li><a href="#">Carte mères</a></li> <li><a href="#">Processeurs</a></li> <li><a href="#">Cartes Graphiques</a></li> <li><a href="#">Barrettes mémoires</a></li> <li><a href="#">Boitiers PC</a></li> <li><a href="#">Alimentations</a></li> <li><a href="#">Disques durs</a></li> </ul> </li> <li><a href="#">Périphériques</a></li> <li><a href="#">Ordinateurs</a></li> <li><a href="#">Pc Portable</a></li> <li><a href="#">Smartphones</a></li> <li><a href="#">Ecran PC</a></li> <li><a href="#">Logiciels</a></li> <li><a href="#">Réseaux</a></li> <li><a href="#">Photo/Video</a></li> <li><a href="#">Téléviseurs</a></li> <li><a href="#">Contact</a></li> </ul> --> </div> <div id="content"> </div> </div><!-- FIN BLOC WRAP --> </body> </html>
db.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php require '/class/db.class.php' ; require '/class/category.class.php' ; $DB = new DB(); $category = new Category($DB); ?>
category.class.php (Pas encore rajouté des fonctions mais pour plus tard je pense ^^)
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 <?php class DB{ private $host = 'localhost' ; private $user = 'root' ; private $pass = ''; private $database = 'bdd' ; private $db ; public function __construct($host = null, $user = null, $pass = null, $database = null){ if($host != null){ $this->host = $host; $this->user = $user ; $this->pass = $pass ; $this->database = $database ; } try{ $this->db = new PDO('mysql:host='.$this->host.';dbname='.$this->database, $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8')); }catch(PDOException $e){ die('<h1> Impossible de se connecter a la base de donnees</h1>'); } } public function query($sql, $data = array()){ $req = $this->db->prepare($sql); $req->execute($data); return $req->fetchAll(PDO::FETCH_OBJ); } } ?>
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php class Category{ private $DB ; public function __construct($DB){ $this->DB = $DB ; } } ?>
Partager