En r�ponse � Klaus <[EMAIL PROTECTED]>:

> Salut,
> 
> je voudrais re�crire un annuaire p�dagogique (katalogdeutsch.free.fr) en
> 
> php-MySQL. Il y a une 50aine de pages, chacune avec une liste de liens 
> comment�s. Il y a une page par sous-cat�gorie, donc une page
> musique.html, 
> cin�.html etc etc.
> 
> J'ai bcp de cat�gories et sous cat�gories, par ex:
> culture
>  musique - th��tre - cin� - etc
> 
> civilisation
>  histoire - actualit� - politique - etc. 
> 
> Est-ce que dois cr�er une seule base de donn�es et une 50aine de tables
> pour 
> chacune des sous-cat�gories ou est-ce que je dois cr�er une base pour
> chaque 
> cat�gorie (culture, civilisation etc) ? La 1�re solution me para�t bien
> + 
> pratique, mais comme je fais �a pour la 1�re fois...

Si je comprends bien la question, la 1ere solution est presque aussi mauvaise que la 
seconde.

Il faut faire 2 tables :

TABLE_CATEGORIE
CATE_ID INTEGER NOT NULL
CATE_PARENT  INTEGER
CATE_NAME       VARCHAR

TABLE_LIEN
LIEN_ID         INTEGER NOT NULL
CATE_ID INTEGER NOT NULL
LIEN_URL        VARCHAR
LIEN_LIBELLE    VARCHAR

Le contenu des tables va ressembler � cela :
TABLE_CATEGORIE :
ID      PARENT  NAME
1       null            Culture
2       1               Musique
3       1               Theatre
4       1                       Cin�
5       null            Civilisation
6       5               Histoire
7       5               Actualit�
8       5               Politique

Table_LIEN
ID      CATE_ID URL             LIBELLE
1       4               www.allocine.fr commander ses billets de cin�ma
2       5               www.afp.fr      Les d�p�ches AFP

etc....

Pour avoir la liste des cat�gories disponbles :

SELECT CATE_ID, CATE_NAME FROM TABLE_CATEGORIE
WHERE CATE_PARENT IS NULL

Pour avoir la liste des sous cat�gories d'une cat�gorie dont l'ID est :identifiant :

SELECT CATE_ID, CATE_NAME FROM TABLE_CATEGORIE
WHERE CATE_PARENT= :identifiant

Pour voir la liste des liens d'une sous-cat�gorie dont l'ID est :identifiant :

SELECT LIEN_URL, LIEN_LIBELLE FROM TABLE_LIEN
WHERE CATE_ID = :identifiant

Plus fort : pour avoir la liste des liens de toutes les sous-cat�gories d'une 
cat�gorie 
dont l'ID est :identifiant :

SELECT A.LIEN_URL, A.LIEN_LIBELLE 
FROM TABLE_LIEN A, TABLE_CATEGORIE B
WHERE B.PARENT = :identifiant
AND A.CATE_ID = B.CATE_ID


J'ai r�pondu � la question ?

-- 
H.Lefebvre  [EMAIL PROTECTED]
LINUX : Ne jetez plus votre argent par les fen�tres !

Répondre à