Créer son forum en php: Comment feriez vous? Moi comme ça

Statut
N'est pas ouverte pour d'autres réponses.

Styleman

Touriste
Bonjour,

Voila je lance ce thread pour recueillir des idées pour aider les débutants comme moi et beaucoup d'autre et aussi pour voir si ma façon de faire est bonne ou si il faudrait faire autrement, plus simplement, pour que cela soit moins lourd etc...

Je ne sais pas si ce thread est une bonne idée mais je le lance quand meme, libre aux modos de le supprimer si ils veulent.

Donc voila, pour le miens, j'ai 3 tables:

- forum:

Code:
- id
- nom (nom du forum)
- description (description du forum)
- forum_msg:

Code:
- id
- auteur (nom de l'auteur)
- date
- titre
- texte
- id_auteur
- forum (id du forum auquel le message est attaché)
- forum_rep:

Code:
- id
- auteur (nom de l'auteur)
- date 
- titre
- texte
- id_auteur (id de l'auteur)
- id_msg (id du message auquel la réponse est attachée)
Donc avec ces 3 tables, je fais mes pages:

- forum.php:

Code:
Si l'id n'est pas défini:
Envoi une requete à la base de donnée, liste les forum enregistrés dedans et les affichent en mettant un lien ayant comme variable l'id du forum
- forum.php?id=$id :

Code:
Si l'id est défini:
Envoi d'une requete à la base de donnée, liste les messages ayant l'id comme valeur dans leur champ "forum" et les affiches avec un lien contenant leur id.
- viewtopic.php?id=$id

Code:
Si l'id n'est pas défini:
Message d'erreur
Si l'id est défini:
Requete à la base de donnée, affiche le message ayant l'id correspondant, et en dessous, affiche les reponse en faisant une requête affichant les réponse de la table forum_rep dont le champ id_msg a comme valeur l'id du message.
Pour ce qui est de l'id_auteur ,c'est parce que j'utilise les sessions avec, et donc je fais en sorte que quand l'utilisateur poste un message, quand on l'affiche il y'a un lien vers son profil, si l'utilisateur n'est pas loggé, je met comme id_auteur 0.

Voila, j'espere que cela ne sera pas supprimé car j'ai quand meme mis pas mal de temps a écrire lol :wink:

J'espere que tout ceux qui on réalisé un forum nous feront part de leur oeuvres :wink:

A vous!

++
 

kokotchY

Elite
4 tables :

cat :
Code:
  id int(2) NOT NULL auto_increment
  nom varchar(50) NOT NULL default
  pos int(2) NOT NULL default '0'
forum :
Code:
  id int(2) NOT NULL auto_increment
  nom varchar(50) NOT NULL default
  desc varchar(150) NOT NULL default 
  pos int(2) NOT NULL default '0'
  cat int(2) NOT NULL default '0'
topic :
Code:
  id int(2) NOT NULL auto_increment
  idforum int(2) NOT NULL default '0'
  uid int(2) NOT NULL default '0'
  title varchar(50) NOT NULL default ''
  view int(3) NOT NULL default '0'
  lastuser int(3) NOT NULL default '0'
  dateus varchar(50) NOT NULL default ''
posts :
Code:
  id int(4) NOT NULL auto_increment
  idtopic int(4) NOT NULL default '0'
  uid int(3) NOT NULL default '0'
  message text NOT NULL
  date varchar(20) NOT NULL default ''
  time varchar(15) NOT NULL default ''
index.php :
je vais chercher toute les catégories triées par pos.
Apres je prend l'id de la cat, et je recherche tout les forums dont cat a le meme id et je trie par pos.
Pour chaque forum afficher, j'affiche un lien index.php?m=viewforum&id=uniddeforum.

index.php?m=viewforum :
je vais chercher tout les topics dont l'idforum est le meme que l'id transmis par l'url trié par dateus en ordre inverse et limite a 10. J'affiche aussi la derniere personne a avoir posté un message. Chaque topic a un lien index.php?m=viewtopic&id=uniddetopic.

index.php?m=viewtopic :
je vais chercher tout les posts dont l'idtopic est le meme que l'id transmis par l'url. Je récupere aussi le titre du topic avec son id et j'affiche le tout

Voila :)
C'est un forum avec des catégories, forums, topics, posts. Il y a encore 2-3 choses mais c'est la le principale :)
 
Ben comme je l'ai déjà dit a Kodiak le code reste "secret jusqu(à sa sortie mais on peut déjà voir ce que ca donne à cette adresse,
www.ihbb.t2u.com ...

Mais en gros je procède de la mm manière que toi ;)
Avec un systeme de permission, pour un menu dynamique et biensur modération :p

Des reketes SQL à gogo, je dosi penser a beaucoup lus sipllifeir mon code.

Et moi ma kestion serait plutot , pourkoi ne pas faire une projet commun, qui on ne sait jamais, pourrait de venir un gros forum, à la place d'un forum utilisés unikement par nous, ou les qq sites que nous faisont :p ...

Idée à débattre biensur ;)



Et merci à kodiak (maitres des clés) pour son aide qu'il m'a apporté ;)
 

guslinux

Gamerz'ien
pq se prendre la tete à refaire qqch d'existant ... phpbb est pas mal je trouve, et libre à vous de le modifier ...
 

k o D

Elite
guslinux a dit:
pq se prendre la tete à refaire qqch d'existant ... phpbb est pas mal je trouve, et libre à vous de le modifier ...
Oui sauf que pour Notr'Empire.com, çà ne me dis vraiment pas de prendre déjà un ofrum existant, c'est pas sérieux :wink:

Bon ben pour ma part, je fais comme vous mais j'ai simplifié le code extrèment gràce aux tableaux, maintenant, si vous avez un stress, venez me le demander.

T'as mon msn hein styleman :wink:
 

gogoprog

Oprahiste vaudou
1 table suffit...
 
1er
OP
S

Styleman

Touriste
gogoprog a dit:
1 table suffit...
Si tu nous montrais un peu ta façon de faire? :wink:

Maitre_des_Cles a dit:
T'as mon msn hein styleman :wink:
Oui oui lol :D

GandeLuxe a dit:
Et moi ma kestion serait plutot , pourkoi ne pas faire une projet commun, qui on ne sait jamais, pourrait de venir un gros forum, à la place d'un forum utilisés unikement par nous, ou les qq sites que nous faisont
ça c'est une bonne idée!!!
 

k o D

Elite
Et moi ma kestion serait plutot , pourkoi ne pas faire une projet commun, qui on ne sait jamais, pourrait de venir un gros forum, à la place d'un forum utilisés unikement par nous, ou les qq sites que nous faisont
Pk pas... enfin bon j'ai besoin du forum que je fais pour mon site et je veux pas de pub dessus quoi
 

gogoprog

Oprahiste vaudou
bien en une table,
les champs habituels (titre,contenu,date...)
un champ is_topic (1=c'est un topic,0=c'est un post)
un champ ref_topic (si c un post, =id du topic, si pas =0)
un champ categorie (en chiffre, le nom et autre info ecrit dans un .php)

et voila :)
 

Defcon4

Touriste
gogoprog a dit:
bien en une table,
les champs habituels (titre,contenu,date...)
un champ is_topic (1=c'est un topic,0=c'est un post)
un champ ref_topic (si c un post, =id du topic, si pas =0)
un champ categorie (en chiffre, le nom et autre info ecrit dans un .php)

et voila :)
c'est pas trop personnalisable ça seulement !
ça marche mais c'est limité un max.
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut