[Résolu] Gain de ressources après clic - 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 : [Résolu] Gain de ressources après clic (/showthread.php?tid=3725) Pages :
1
2
|
[Résolu] Gain de ressources après clic - Cloudi - 24-02-2009 Bonsoir J'essaie de mettre en place un système qui permette de gagner des ressources après avoir cliqué quelque part. J'ai donc crée deux pages, une où se trouve le lien, une qui permet donc de gagner cette légendaire ressource que j'ai appelée 'truc'. J'ai inventé pour l'occasion une table baptisée 'ressources' avec pour champs: -id en INT -pseudo en TEXT -trucs en VARCHAR (sachant que pendant mes tests, les résultats les plus proches de ceux que j'attend vraiment sont apparus quand je suis en VARCHAR) Mon code, qui est situé sur la page qu'on trouve après avoir cliqué sur le lien : Code PHP :
Ce que je sais, c'est que le code marche dès qu'on remplit manuellement le champs truc. Ce que je sais aussi-merci Anthor-, c'est que le problème est qu'à la base les trucs n'existent pas. Ce que je ne sais pas, c'est comment faire pour que les trucs existent dès le début. Voilà mon problème J'aurai juste besoin d'une petite orientation (à moins que ça soit l'opération la plus compliquée à faire dans ce code) Cloudi RE: Gain de ressources après clic - My Hotel - 24-02-2009 Je comprends pas très bien ta question mais je me demande pourquoi tu crée une ligne avec le pseudo et la colonne truc vide, et qu'après tu fais une requête pour connaître le nombre de truc que tu viens d'initialiser dans la BDD à 0. Moi je ferais un INSERT INTO ressources VALUES ('', '" .$pseudo. "', '6'); Mais je pense que j'ai pas compris ce que tu veux vraiment... RE: Gain de ressources après clic - Nambew - 24-02-2009 Faudrait aussi enlever le pseudo de la table ressource puisque ça n'a pas d'affaire à être là, ça serait sensé être le id de l'utilisateur. RE: Gain de ressources après clic - Cloudi - 24-02-2009 @My_Hotel : Ca marche pas, pas d'addition mais mon membre se retrouve simplement avec à la fois 6 trucs et à la fois 37 trucs (parce que j'avais fait 1(manuel)truc+6clics*6trucs) @oxman : c'est certe beaucoup plus simple, les trucs s'additionnent bien et tout... mais ça donne ça avec à la base un membre qui a 24 trucs: Avec 0 clic : membre : 24 trucs Avec 1 clic : membre : 30 trucs membre : 6 trucs Avec 2 clics : membre : 36 trucs membre : 12 trucs membre : 6 truc Et ainsi de suite... Donc maintenant faudrait quelque chose qui permette de n'ajouter des trucs à une seule id (ça m'avait de toute façon l'air assez utile) Que fais-je? J'essaie de dire que si y a déjà un $pseudo dans la table c'est pas la peine d'en rajouter un deuxième? Edit : Venant de lire le post Nambew, dans ce cas comment je fais pour l'id? (puisque ça arrangerait certainement le problème) RE: Gain de ressources après clic - wild-D - 24-02-2009 je pige pas déjà pourquoi tu utilise un varchar pour stocker des entiers :/ (vu que tu ajoute +6 à trucs à chaque fois c'est donc a priori toujours un entier). et sinon en session tu stockes pas seulement le pseudo du joueur, mais aussi son id. tu as plus ensuite qu'à ajouter ton +6 sur l'enregistrement correspondant à l'id du joueur. genre "UPDATE ressources SET trucs=trucs+6 WHERE id= '" .$_SESSION['id']. "' "; RE: Gain de ressources après clic - My Hotel - 25-02-2009 Alors là je comprends pas vraiment le problème... A chaque clic, il faut que le joueur ait 6 trucs de plus (addition), ou il doit en avoir 0 avant le clic, et 6 après un ou plusieurs clics? RE: Gain de ressources après clic - Cloudi - 25-02-2009 Ca marche pas : Code PHP :
J'ai mis INT pour le nombre de trucs. C'est la deuxième requête qu'il comprend pas. L'id dans la table s'incrémente automatiquement, j'ai par hasard essayé sans, mais j'ai toujours pas de bons résultats... Si ça marche, c'est l'id qui est indiquée dans la table 'membres' qui devrait s'afficher? Dans ce cas il faut initialiser la variable $_SESSION lors de la connexion ou bien ça se fait tout seul? RE: Gain de ressources après clic - Ter Rowan - 25-02-2009 si je comprends bien, à chaque fois que tu clics, tu appelles ce script or ce script à chaque fois qu'il se lance crée une ligne (insert...) donc supposons que la table soit vide, que tu n'es pas de problème d'id avant le 1er clic : table vide 1er clic insert ==> id, pseudo, 0 update ==> id, pseudo, 6 2eme clic insert ==> id, pseudo, 6 (l'enregistrement du premier clic) id, pseudo, 0 (l'enregistrement de l'insert) update ==> id, pseudo, 12 id, pseudo, 6 3eme clic insert ==> id, pseudo, 12 (l'enregistrement du premier clic avec déjà deux update) id, pseudo, 6 (l'enregistrement du deuxième clic avec déjà un update) id, pseudo, 0 (l'enregistrement de cet insert) update ==> id, pseudo, 18 id, pseudo, 12 id, pseudo, 6 donc normal qu'il y ait n'importe quoi dans la table (j espère ne pas m'être trompé ^^) RE: Gain de ressources après clic - My Hotel - 25-02-2009 Alors il faut vérifier si le joueur a déjà une ligne a son nom dans ta table, puis s'il en a une tu update en rajoutant 6 trucs, sinon tu crées une nouvelle ligne pour lui avec 6 trucs. Si c'est pas ça je m'avoue paumé RE: Gain de ressources après clic - Cloudi - 25-02-2009 Un problème en moins, un autre en plus... Comment faire venir une ligne et une seule ligne pour un pseudo? EDIT: Merci My Hotel pour cette ultime solution Et merci à tous, les trucs ont l'air d'affluer comme il faut Sachant que j'ai déjà le pseudo, est-ce qu'il faut aussi l'id quand même? (parce que si c'est le cas c'est pas fini alors) |