Randal
Membre
Messages : 16
Inscription : Jul 2007
Réputation : 0
|
[Résolu] Créer un magasin ?
Bonjour à vous.
Après des recherches sur internet et sur ce forum aussi, je n'ai pas
découvert de tutoriel qui aide à faire un système de magasin en php.
J'aimerais quelque chose de tout simple que je modifierai à ma sauce
par la suite. Donc une page html qui affiche tout les objets et si on
achète un objet sa enlève x pièces. Résultat, on perd x pièce mais
on gagne 1 objet. Et bien... Comment faire un système comme ça ?
J'espère que vous pourrez me répondre précisement, j'ai hâte !
(Ce message a été modifié le : 11-02-2008 01:30 AM par Sephi-Chan.)
|
|
| 09-10-2008 05:58 PM |
|
Sephi-Chan
Administrateur
      
Messages : 4,492
Inscription : Aug 2006
|
RE: Créer un magasin ?
Bonjour,
Je vais te présenter une solution. Voici la situation de départ.
Tu disposes d'une table Personnages (avec des champs id, nom et monnaie), d'une table Objets (avec des champs id et nom) et d'une table Vendeurs (avec des champs id et nom).
Tu disposes également de deux table de relation Objets_Personnages (avec des champs objet_id et personnage_id) et Objets_Vendeurs (avec des champs objet_id, vendeur_id, quantite et prix).
Pour afficher la marchandise d'un vendeur (dont tu connais l'ID, symbolisé par %d1 dans la requête), une simple requête suffit :
Code :
SELECT O.id,
O.nom,
OV.quantite,
OV.prix,
V.nom
FROM Vendeurs V
LEFT
JOIN Objets_Vendeurs OV
ON OV.vendeur_id = V.id
AND OV.quantite > 0
LEFT
JOIN Objets O
ON O.id = OV.objet_id
WHERE V.id = %d1;
Quand le joueur se rend sur cette page, il peut désigner un objet à acheter (l'objet est identifié par son ID). Note que ce système permet aux marchands de proposer les mêmes objets à des prix différents.
Il faut maintenant savoir si le personnage est assez riche (l'argent du joueur est représenté par %d1 dans la requête) pour s'offrir l'objet qu'il a demandé (dont l'ID est représenté par %d2 dans la requête) au prix demandé par le vendeur (dont l'ID est représenté par %d3 dans la requête).
Code :
SELECT COUNT(*) AS objet_correspondant
FROM Objets O
JOIN Objets_Vendeurs OV
ON OV.objet_id = O.id
AND OV.vendeur_id = %d3
AND OV.prix <= %d1
WHERE O.id = %d2
Si le champ objet_correspondant vaut 0, c'est que le joueur n'a pas assez d'argent (ou que le vendeur ou l'objet indiqué n'existe pas). S'il vaut 1, c'est que le joueur à assez d'argent.
Ensuite, le reste est très simple, il suffit de mettre à jour la somme d'argent du personnage, d'insérer une entrée dans la table Objets_Personnages et de mettre à jour une entrée dans Objets_Vendeurs.
Pour mettre à jour la somme d'argent du joueur (dont l'ID est représenté par %d1 dans la requête), on déduit de sa somme d'argent le prix (représenté par %d2 dans la requête) de l'objet.
Code :
UPDATE Personnages
SET monnaie = monnaie - %d2
WHERE id = %d1;
Pour donner l'objet (dont l'ID est représenté par %d1 dans la requête) au personnage (dont l'ID est représenté par %d2 dans la requête), voici la marche à suivre :
Code :
INSERT
INTO Objets_Personnage (objet_id, personnage_id)
VALUES (%d1, %d2);
Pour mettre à jour le stock de l'objet (dont l'ID est représenté par %d1 dans la requête) du vendeur (dont l'ID est représenté par %d2 dans la requête) :
Code :
UPDATE Objets_Vendeurs
SET quantite = (quantite - 1)
WHERE objet_id = %d1
AND vendeur_id = %d2;
Voilà, j'espère que ça pourra t'aider. Si tu as des questions, n'hésite pas.
Je précise qu'il y a moyen de simplifier le code, surtout si tu ne gères pas les stocks de tes marchands.
Sephi-Chan
www.sephi-chan.fr
|
|
| 09-10-2008 07:31 PM |
|
Randal
Membre
Messages : 16
Inscription : Jul 2007
Réputation : 0
|
RE: Créer un magasin ?
Oulala, je comprend strictement rien... Y a beaucoup de tables, je ne sais pas comment les
configurer et je ne comprend rien à ces bouts de code, je connais même pas le langage...
Je suis bien un débutant... Merci pour le temps que tu m'a consacré mais sa me fait un peu de
peine du fait que cela ne m'est d'aucune utilité sans connaissances si tu vois c'que je veux dire.
(Ce message a été modifié le : 09-10-2008 07:46 PM par Randal.)
|
|
| 09-10-2008 07:45 PM |
|
Melimelo
Membre
Messages : 292
Inscription : Sep 2008
Réputation : 3
|
RE: Créer un magasin ?
le code c'est du sql, c'est ce qui te permet d'intéragir avec la Bdd (Base de donné), celle-ci est le lieu où sont stocké les informations concernant tes joueurs.
Cordialement Melimelo
|
|
| 09-10-2008 07:59 PM |
|
Randal
Membre
Messages : 16
Inscription : Jul 2007
Réputation : 0
|
RE: Créer un magasin ?
Ouais je sais bien ça mais je ne sais pas comment les mettre. Enfin si mais faut les configurer.
Le type, l'interclassement et tout le reste...
|
|
| 09-10-2008 08:02 PM |
|
Sephi-Chan
Administrateur
      
Messages : 4,492
Inscription : Aug 2006
|
RE: Créer un magasin ?
Effectivement, je suis dégoûté.
Il faut que tu apprennes PHP et SQL. Pour cela, je te conseille le Site du Zéro.
Sephi-Chan
www.sephi-chan.fr
|
|
| 09-10-2008 08:03 PM |
|
Randal
Membre
Messages : 16
Inscription : Jul 2007
Réputation : 0
|
RE: Créer un magasin ?
Bah oui on en revient toujours là... Comment on fait ça ? Va là-bas... Je préfere bidouiller qu'apprendre, mais
tout ce qui touche à la base de donnée, je n'y comprend pas grand chose. Après c'est mon problème hein.
Bon bah merci quand même...
|
|
| 09-10-2008 08:12 PM |
|
Melimelo
Membre
Messages : 292
Inscription : Sep 2008
Réputation : 3
|
RE: Créer un magasin ?
Plustot bidouiller qu'apprendre ... c'est vraiment la pire des choses que tu puisses faire à mon sens, car en bidouillant tu prends bcp de mauvais habitudes et tu est généralement incapable de revenir sur ton code.
De plus le jour ou tu décide d'apprendre et que t'a bidouillé toute ta vie ca va être gaie de changer les habitudes.
Cordialement Melimelo
|
|
| 09-10-2008 08:17 PM |
|
Randal
Membre
Messages : 16
Inscription : Jul 2007
Réputation : 0
|
RE: Créer un magasin ?
Bah je trouve pas, quand je bidouille, j'essaye de comprendre chaque fonction, à quoi elle sert et ce qu'elle a comme effet. Et je m'en suis toujours sorti. Enfin presque, la preuve ici vu que je n'ai rien sur quoi m'appuyer sans connaissances en sql... ='(
|
|
| 09-10-2008 08:36 PM |
|
Melimelo
Membre
Messages : 292
Inscription : Sep 2008
Réputation : 3
|
RE: Créer un magasin ?
Et tu crois que l'apprentissage c'est pas apprendre à quoi serve chaque fonction et qu'elles sont leurs utilité quand les utilise-t-on ?
Cordialement Melimelo
|
|
| 09-10-2008 08:42 PM |
|