Bonsoir,
Je voudrai crée un tchat privé, mais je sais pas trop comment est la structure dans la base de donnée. Donc merci d'avance pour votre aide qui me sera précieuse.

3 réponses


mouss
Auteur
Réponse acceptée

Bonsoir,
Merci pour vos réponses. Pour l'instant j'ai crée deux tables:

<u>Users :</u>
-id => clé primaire
-login
-password
-connecter(permet de savoir si la personne est connecté 1=>connecté, 0=>déconnecté)

<u>Conversations:</u>
-id => clé primaire
-id_emmeteur => clé primaire
-id_recepteur => clé primaire
-message

id_emmeteur et id_recepteur qui sont des clés étrangère en référence a l'id de la table Users.

Voila merci de me dire ce que vous en pensé.

Hello,

Déjà tu as deux bons tutos sur Merise (pour la conception).

Après niveau tables, tu pourrais avoir :

  • Utilisateur,
  • Salon (si tu en as plusieurs),
  • Message (messages globaux du salon),
  • Message_prives (messages privés entre membres),
  • Smiley (table de correspondance entre emoticon et raccourcis clavier),

Après reste à relier tout ça ensemble :)

J'ai déjà fait un t'chat en ajax ou je me suis basé sur celui de grafikart et ma fois, tous fonctionne. Donc j'ai bien évidement changé le globalité de la table. Voici ma table:

CREATE TABLE `tchat_lines` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `author` varchar(16) NOT NULL,
  `gravatar` varchar(32) NOT NULL,
  `text` varchar(255) NOT NULL,
  `ts` timestamp NOT NULL default CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ts` (`ts`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `tchat_users` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `name` varchar(16) NOT NULL,
  `gravatar` varchar(32) NOT NULL,
  `last_activity` timestamp NOT NULL default CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `last_activity` (`last_activity`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Tu as les utilisateur en ligne et ta table users avec leur avatar etc :). Après à toi d'adapté selon tes besoin.