2010-08-14 9 views
1

Je me demandais quelle est la meilleure façon d'afficher des centaines de catégories en utilisant PHP & MySQL?Comment afficher les catégories et les sous-catégories sans fin en utilisant PHP et MySQL?

Par exemple, il ne serait pas judicieux de créer un dossier pour chaque catégorie ou sous-catégorie.

Et comment créer ma page php pour afficher des catégories et des sous-catégories sans fin?

Et comment mon URL ressemblerait-elle exactement par exemple à plusieurs sous-catégories?

http://www.example.com/a/b/c/d/e 

Ne serait-il ressembler à quelque chose comme?

http://www.example.com/cat? 

À quoi ressemblerait ma base de données?

Voici comment ma base de données MySQL ressemble à ce que dois-je ajouter ou supprimer?

CREATE TABLE categories ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
parent_id INT UNSIGNED NOT NULL DEFAULT 0, 
category TEXT NOT NULL, 
url TEXT NOT NULL, 
PRIMARY KEY (id), 
INDEX parent (parent_id) 
); 

un bon tutoriel ou un exemple de détail aiderait beaucoup.

Désolé pour toute la question.

données de sortie.

1. Administrative Support 
    2. Arts & Entertainment 
     1. Amusement & Theme Parks 
     2. Art Appreciation 
     3. Artists 
       1. A 
        1. a1 
        2. a2 
       2. B 
       3. C 
       4. D 
    3. Automotive & Transportation 
    4. Network Administration 
    5. Server Administration 
    6. Web Design 
     1. CSS 
     2. HTML 

stockage de base de données.

id parent_id category url 
1 0   Arts & Entertainment arts-and-entertainment/ 
2 1   Amusement & Theme Parks amusement-and-theme-parks/ 
3 1   Art Appreciation art-appreciation/ 
4 1   Artists  artists/ 
5 4   A artists/a/ 
6 4   B artists/b/ 
7 4   C artists/c/ 
8 4   D artists/d/ 
9 0   Automotive & Transportation automotive-and-transportation/ 
10 5   a1 artisits/a/a1/ 
11 5   a2 artisits/a/a2/ 
12 0   Web Design web-design/ 
13 12   HTML web-design/html/ 
14 12   CSS  web-design/css/ 
15 0   Network Administration network-administration/ 
16 0   Server Administration server-administration/ 
17 0   Administrative Support administrative-support/ 
+0

Quoi de PARENT_ID »et 'catégorie' sémantique? 'parent_id' est une référence à 'id'? 'category' stocke 'a/b/c/d/e' ou seulement 'e' et 'parent_id' stocke l'identifiant de catégorie supérieure ('id' de 'd'), ...? – barroco

+0

@ isola009 De quels sémantiques 'parent_id' et 'category' parlez-vous? – monkeyEYES

+0

@monkeyEYES Catégories tableau – barroco

Répondre

0

J'espère que les travaux:

function category_tree($parent = 0, $parent_url = "www.example.com/"){ 
    echo "<ol>"; 
    $sql = sprintf("SELECT id, category, url FROM categories where parent_id = %d order by category asc", $parent); 
    $r = mysql_query($sql); 
    while($rs = mysql_fetch_assoc($r)){ 
     $url = $parent_url . $rs['url']; 
     $item = sprintf("<li> <a href = '%s' >%s</a> </li>", $url , $rs['category']); 
     echo $item; 
     category_tree($rs['id'], $url); 
    } 
    mysql_free_result($r); 
    echo "</ol>"; 
} 
+0

Merci J'ai corrigé une partie de votre code pour le faire fonctionner avec le mien. – monkeyEYES

+0

C'est parfait !!! ;-) – barroco

Questions connexes