Poster une réponse 
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Systeme Inventaire
Auteur Message
Sephi-Chan Hors ligne
Administrateur
*******

Messages : 4,492
Inscription : Aug 2006
Message : #11
RE: Systeme Inventaire
Exporte ta base de données via phpMyAdmin et colle le code SQL que ça te donne sur [url=http://pastebin.com/[/url]Pastebin.com[/url], ça me permettra de tester.

Qu'est-ce que ça te donne quand tu mets cette requête dans phpMyAdmin (en supposant que tu ai un personnage qui a une id = 1 dans ta base de données) ?
Code :
SELECT objet.*
FROM session
JOIN inventaire
ON inventaire.personage = session.id
JOIN Objet
ON Objet.id = inventaire.objet
WHERE session.id = 1
AND objet.type = 'arme';


Sephi-Chan

www.sephi-chan.fr
08-15-2008 11:44 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Tekmerak Hors ligne
Membre

Messages : 24
Inscription : Aug 2008
Réputation : 0
Message : #12
RE: Systeme Inventaire
http://pastebin.com/m74ae218f

Quand je met ton code, sa me met l'objet voulu (oui il y a un seul objet de type arme dans ma base de donné (un seul tout court d'ailleur))
08-16-2008 12:03 AM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan Hors ligne
Administrateur
*******

Messages : 4,492
Inscription : Aug 2006
Message : #13
RE: Systeme Inventaire
Dans ce cas, c'est que la requête fonctionne bien, non ? Où est-ce que ça bloque ? Quand tu dis que "ça ne marche pas", tu peux détailler s'il te plaît ?


Sephi-Chan

www.sephi-chan.fr
08-16-2008 12:30 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Eluox Hors ligne
Membre

Messages : 935
Inscription : Oct 2007
Réputation : 8
Message : #14
RE: Systeme Inventaire
En prenant ta BDD j'me suis permis de t'aider 2

Moi sa donne sa, et sa fonctionne niquel

Code PHP :
$id 3;

$ressource mysql_query("
                    SELECT o.id, o.nom
                    FROM session AS s
                    LEFT JOIN inventaire AS i
                        ON i.personage = s.id
                    LEFT JOIN objet AS o
                        ON o.id = i.objet
                    WHERE s.id = "
.$id."
                    AND o.type = 'arme'
                "
) or die (mysql_error());




if(
mysql_num_rows($ressource) <= 0)
{
    echo 
"Vous n'avez pas d'objet";
}else
{
    echo 
'<form method="post" action="traitement_changement_equipement.php"><p>Main droite : ';
    echo 
'<select name="main_droite">';

    while(
$donnee mysql_fetch_assoc($ressource))
    { 
        echo 
'<option value="'.$donnee['nom'].'">'.$donnee['nom'].'</option>';
    }

    echo 
'</select>';


@Sephi : Ta requête n'a rien renvoyer techniquement dans PMA, tout simplement car le seul user de la table session a pour ID 3 et non 1 comme dans ta requête 2

[Image: eluox010.png]
(Ce message a été modifié le : 08-16-2008 01:03 AM par Eluox.)
08-16-2008 01:01 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan Hors ligne
Administrateur
*******

Messages : 4,492
Inscription : Aug 2006
Message : #15
RE: Systeme Inventaire
Voilà, c'était donc juste une erreur d'inattention. 2

Par contre, la nouvelle structure que tu as adopté est moins claire. Dans un système (que ce soit un jeu, un forum ou autre), les utilisateurs ne s'appellent pas des sessions. Ce sont des joueurs, des utilisateurs ou autre.

De même, on préférera un nom pluriel à la table. La table Utilisateurs contient plusieurs utilisateurs.
Ensuite, la table de relation doit avoir un sens. La table Personnage_possede_objet a un sens : elle contient des enregistrement qui associe 1 personnage à 1 objet.

Ce ne sont que des conseils de notations, mais ils sont très pratiques, surtout quand tu commences à avoir des requêtes un peu plus complexes.


Sephi-Chan

www.sephi-chan.fr
08-16-2008 01:14 AM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Tekmerak Hors ligne
Membre

Messages : 24
Inscription : Aug 2008
Réputation : 0
Message : #16
RE: Systeme Inventaire
MErci !! Sa marche cette fois.

Pour les nom je me doute que sa peux paraitre louche mais sur le coup sa me parraissait plus simple et je commence deja a m'y habitué (surtout pour le session). Et puis sa personnalise les code 16
08-16-2008 12:36 PM
Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Sephi-Chan Hors ligne
Administrateur
*******

Messages : 4,492
Inscription : Aug 2006
Message : #17
RE: [Résolu] Systeme Inventaire
Justement, la personnalisation du code est à éviter. Il faut que ce soit compréhensible par tous ceux qui lisent ton code. C'est n'est pas le cas avec des noms exotiques. Je ne peux que te conseiller d'utiliser des noms plus génériques, pour la clarté des choses.

Mais bon, c'est clair que je ne peux pas t'y forcer. Tu devras le faire tôt ou tard de toute façon. J'essaye juste de te convaincre d'y passer avant que ça ne devienne vraiment chiant car plus tu attends, plus tu auras de choses à changer lors du changement (qui ne manquera pas d'arriver).


Sephi-Chan, merci pour le tag [Résolu] ! 16

www.sephi-chan.fr
08-16-2008 12:48 PM
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur Citer ce message dans une réponse
Poster une réponse 



ContactJeuWeb (JeuPHP) - Crée ton jeu par navigateurRetourner en hautRetourner au contenuVersion bas-débit (Archivé)Syndication RSS