A voir également:
- Realiser un systeme de messages
- Restauration systeme windows 10 - Guide
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Messages supprimés whatsapp - Guide
- Réaliser un organigramme - Guide
4 réponses
Salut,
Il n y a pas de solution unique. Voila un petit exemple simpliste:
table des clients
table des fils (ou un topic)
table des Messages
ou pourrai aussi avir une table de souscription au fil pour recevoir des notification par exemple.
Donc du coup au select on ferai
Pour récupérer tout le fil.
Mais ce n est qu un exemple avec un minimum de données, à toi de trouver une structure qui correspondra réellement à ce que tu veux faire.
Naga
Il n y a pas de solution unique. Voila un petit exemple simpliste:
table des clients
<T_USER>
USR_ID
USR_NAME
table des fils (ou un topic)
<T_FIL>
FIL_ID
FIL_NAME
USR_ID //creator
table des Messages
<T_MESS>
MESS_ID
CONTENT
USR_ID
FIL_ID
ou pourrai aussi avir une table de souscription au fil pour recevoir des notification par exemple.
Donc du coup au select on ferai
SELECT f.FIL_ID,m.MESS_ID,m.CONTENT,u.USR_ID,u.USR_NAME FROM T_FIL f JOIN T_MESS m ON f.FIL_ID = m.FIL_ID JOIN T_USER u ON m.USR_ID=u.USR_ID WHERE f.FIL_ID={fil_id_cherché} ORDER BY m.MESS_ID
Pour récupérer tout le fil.
Mais ce n est qu un exemple avec un minimum de données, à toi de trouver une structure qui correspondra réellement à ce que tu veux faire.
Naga
Salut,
Quand on clique sur la personne ça nous ouvre la conversation avec la personne et on affiche tous les messages avec une boucle, en SELECT contenu WHERE received_id = nom de la personne.
Je pense un truc dans ce genre
Quand on clique sur la personne ça nous ouvre la conversation avec la personne et on affiche tous les messages avec une boucle, en SELECT contenu WHERE received_id = nom de la personne.
Je pense un truc dans ce genre
Salut,
Vu ta table actuelle, tu n est pas en mesure de gérer un fil de discussion vu qu il n y a pas de lien.
Ce que cette table peu te permettre de faire c'est seulement permettre à deux personnes de discuter dans un fil unique (donc deux acteurs seulement avec un fil unique par couple).
Si tu veux juste selectionner un fil, tu ferra:
qui renverra la liste des message par ordre d insertion (donc chronologique).
Par contre le nom des champs est mal choisi : d'une part un receiver et un destinataire, c'est la même chose (sender et receiver serai bien plus approprié), et dans le cas d'une conversation ca serai plutot des acteurs.
Après il faut voir l insertion, il faudra peu être adapter la requête de select, par exemple faire :
naga
Vu ta table actuelle, tu n est pas en mesure de gérer un fil de discussion vu qu il n y a pas de lien.
Ce que cette table peu te permettre de faire c'est seulement permettre à deux personnes de discuter dans un fil unique (donc deux acteurs seulement avec un fil unique par couple).
Si tu veux juste selectionner un fil, tu ferra:
SELECT ID,contenu,receive_id,posted_at FROM {nom de la table} WHERE receive_id = {id du receiver} AND dest_id = {id du destinataire} ORDER BY ID
qui renverra la liste des message par ordre d insertion (donc chronologique).
Par contre le nom des champs est mal choisi : d'une part un receiver et un destinataire, c'est la même chose (sender et receiver serai bien plus approprié), et dans le cas d'une conversation ca serai plutot des acteurs.
Après il faut voir l insertion, il faudra peu être adapter la requête de select, par exemple faire :
SELECT ID,contenu,receive_id,posted_at FROM {nom de la table} WHERE receive_id in ({id acteur 1},{id acteur 2}) AND dest_id in ({id acteur 1},{id acteur 2}) ORDER BY ID
naga