Forum

Répondre
BigZ[SHN]
le 16/11/2006 à 19:51
BigZ[SHN]
Bonjour à tous,

Je cherche à faire un forum, mais pas un forum "classique" comme celui là ou à la PHPBB.

Le forum que je veux faire se présente en arborescence, comme ceci :

- Sujet 1
* Réponse du Sujet 1
** Réponse de la réponse
- Sujet 2
- Sujet 3

etc.

Pouvez-vous m'aider en m'indiquant quel chemin emprunter?

Merci

BigZ
moogli
le 16/11/2006 à 21:18
moogli
salut,

la requete sql qui va bien avec un group by idsujet (le sujet de départ).
et ensuite tu cherche a savoir quand tu change de sujet, pour revenir le long de la marge (un bon gros if sur l'id du sujet).

@+
Il en faut peu pour être heureux !!!!!
BigZ[SHN]
le 16/11/2006 à 22:47
BigZ[SHN]
Oui mais ca m'oblige à faire des boucles à l'infini donc c'est pas gérable.

Je fait une première requete pour me sortir tous les sujets principaux, ensuite je cherche si y a eu des réponses à ce sujet, puis des réponse aux réponses etc. ca devient trop lourd.

On m'a parlé des Classes mais je connait rien à la POO, c'est vraiment la meilleure solution?

Merci
LupusMic
le 16/11/2006 à 23:08
LupusMic
(moogli) Tu vas trop vite :)

(BigZ[SHN]) Si je comprends bien, tu veux un forum arborescent, comme il y a dans Phorum.

Qui dit arborescence, dit parents. Donc il faut que tes tables ressemble à ceci :

create table messages
( id integer auto_increment not null
, parent_id integer default null

, topic varchar(80) not null
, message blob not null
, author_id integer not null

, primary key (id)
, foreign key (parent_id) references messages(id)
, foreign key (author_id) references author(id)
) ;


Ensuite, il faut faire la requête select permettant de chercher tous les messages d'un sujet récursivement. Ici la clé du problème est la récursivité. Il faut que tu gères ça pour l'affichage.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
BigZ[SHN]
le 16/11/2006 à 23:13
BigZ[SHN]
Oui c'est tout à fait ca...

Par contre je comprend rien a "foreign key" ni à la récurcivité de la chose...lol

Tu aurai un exemple concret ou une doc parlant de ca?

Merci
LupusMic
le 17/11/2006 à 10:15
LupusMic
Les clés étrangères, c'est pour améliorer la cohérence de ta base de données. Ça permet de dire que tel champs référence tel autre champs d'une table. C'est une information complémentaire.

En ce qui concerne la récursivité, c'est la deuxième chose que tu apprends en algoritmie. Donc, demande à ton compagnon de recherche préféré (récursive, fonction, fibonacci, factorielle).
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
BigZ[SHN]
le 18/11/2006 à 01:58
BigZ[SHN]
Bon je vais tacher de comprendre un peu mieux ces fonctions récurcives, mais c'est assez hard au premier abord....

Sinon pour en revenir aux classes, c'est pas quelque chose qui pourrai m'aider?

Thx
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours