JeuWeb - Crée ton jeu par navigateur
Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... (/showthread.php?tid=210)

Pages : 1 2 3


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Eluox - 30-06-2008

C'est ce que j'ai dit au dessus, mais harparine explique tellement bien, sa me donne même envie d'effacer mon post Big Grin

Bon courage Mr-Blonde Smile


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas. - Mr-Blonde - 30-06-2008

Bon alors j'ai fait quelques essaies cette après-midi et notamment ça :

Code PHP :
<?php 
'MESSAGE' => $messages->MESSAGE,

C'est un peu con je sais, un vague copier/coller des lignes du dessus et sans surprise ça ne marche pas.

J'ai donc droit à ces deux messages d'erreurs :

Citation :Notice: Undefined variable: messages in /home/httpd/mr-blonde/barh-online.franceserv.com/modules/map.php on line 759

Notice: Trying to get property of non-object in /home/httpd/mr-blonde/barh-online.franceserv.com/modules/map.php on line 759

Je ne sais pas exactement ce que ça veut dire mais j'imagine qu'il doit dire qu'il ne peut pas stocker toutes les données de l'entrée "Message" de la table "Messages" dans une seule variable.
Je fais peut être fausse route hein...

J'aurai voulu faire en sorte que l'entrée "Message" dont l'id est la plus élevée (c'est une auto_increment) et dont "Destinataire" est égale à la variable $user soit stockée dans la variable et seulement elle.

Malheureusement je ne connais pas la syntaxe alors si vous pouviez m'éclairer un peu...

Merci à tous et bonne route Wink


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas. - Harparine - 30-06-2008

keke a écrit :<mode déconne ON>
La guerre du langage direct est en cours... un missile a été envoyé par Harparine. Avec un peu de chance une part de l'humanité sera épargné. Sa puissance de feu est tellement impressionnante.
<mode déconne OFF>

Je ne cherche pas à être méchant (c'est rare que je le sois, d'ailleurs) mais je constate qu'il faut être direct et franc pour que les gens comprennent qu'il vaut mieux se prendre en main si on veut arriver à faire quelque chose... @+ Wink


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas. - Amrac - 03-07-2008

keke a écrit :[...] en premier lieu tu ne devrait pas avoir le nom de l'emetteur ni celui du recepteur dans ta table Message.
Il faut que tu emploies des ID pour cela. Je t'encourage à aller voir le site du Zéro pour ce principe. [...]
kéké.

En fait, en premier lieu dans la phase de modélisation il est vrai qu'on utilise les ID des membres pour connaitre les destinataires et les expéditeurs.

Cependant, lorsque l'on passe à la phase d'optimisation on ajoute les pseudos car cela permet d'éliminer une double jointure couteuse en ressource. En contrepartie, la taille de la BDD augmente un peu mais de façon minime par rapport au gain de performance.


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas. - Anthor - 03-07-2008

Amrac a écrit :
keke a écrit :[...] en premier lieu tu ne devrait pas avoir le nom de l'emetteur ni celui du recepteur dans ta table Message.
Il faut que tu emploies des ID pour cela. Je t'encourage à aller voir le site du Zéro pour ce principe. [...]
kéké.

En fait, en premier lieu dans la phase de modélisation il est vrai qu'on utilise les ID des membres pour connaitre les destinataires et les expéditeurs.

Cependant, lorsque l'on passe à la phase d'optimisation on ajoute les pseudos car cela permet d'éliminer une double jointure couteuse en ressource. En contrepartie, la taille de la BDD augmente un peu mais de façon minime par rapport au gain de performance.

Wahou...


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - keke - 03-07-2008

Faire une recherche de type LIKE est plus couteuse qu'une jointure ... Et ça c'est d'autant plus vrai je crois, que la volumétrie de ta base augmente...

kéké.


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Bladrak - 03-07-2008

D'où l'intérêt de mettre les deux non ? (id + pseudo dans la même table)
Comme ça on fait une recherche par ID et on choppe le pseudo simplement Smile


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - keke - 03-07-2008

Je n'ai pas forcément compris ...

Dans la table messagerie tu veux que tu as :
id_emetteur
nom_emetteur
id_recepteur
nom_recepteur

C'est bien cela ? Afin d'éviter une recherche ?

C'est ma foi pas bête avec seulement une duplication de la donnée du nom ... ce qui peut-être contraire à certains puriste en BDD.

Kéké.


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Bladrak - 03-07-2008

Si j'ai bien compris le post d'Amrac c'est ça oui Smile


RE: Programmation d'une mini-messagerie sur la base d'un code que je ne comprend pas... - Amrac - 03-07-2008

Oui c'est le principe. Tu garde l'ID car il est très rapide pour la sélection dans la base, mais tu garde aussi les pseudos.

Par contre une petite rectification: il est (a priori) inutile de garder le pseudo de l'expéditeur car on ne l'utilise jamais, a moins d'avoir une "boite d'envoi".

Lorsque l'on optimise une base de données on peut utiliser des techniques comme le partitionnement vertical / horizontal qui case le schéma de la BDD au profit des performances. Il faudrait que je ressorte un exercice fait en cours un de ces jours pour être plus clair...