JeuWeb - Crée ton jeu par navigateur
déchiffrer et additionner - 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 : déchiffrer et additionner (/showthread.php?tid=4251)

Pages : 1 2


déchiffrer et additionner - alechuga - 31-07-2009

Bonjours

En fait j'ai juste un problème théorique. Je vois pas comment, suite à une sélection par une requête, récupérer de façon indépendante toutes les valeurs correspondant au critère pour ensuite les additionner.
En gros ce que je voudrais c'est :
-sélectionner toutes les entrées correspondantes sur la BDD (ça c'est fait)
-utiliser dans une variable chacune des valeurs correspondantes aux entrées
-additionner les résultats de la variable pour chaque personne dans une grande variable

Et je vois pas, mais alors pas du tout, comment faire.

Un exemple serait peut-être plus clair :

SELECT................. WHERE.......
valeurs correspondantes :
X, 1, 7, 2.
Y, 3, 4, 9
$cumulX = 10;
$cumulY = 16;

$finale = 26;

Je voudrais faire ça, mais je vois pas comment, j'ai bien pensé à une boucle mais je vois pas comment faire l'addition des résultats pour faire la dernière variable.


RE: déchiffrer et additionner - Argorate - 01-08-2009

Salut!

J’ai pas du comprendre tous les détails du problème, parce que je ne saisie pas la difficulté…

Tu fais une requête.
Tu fais un while($data = mysql_fetch_array($sql)) dans lequel tu récupères tes données et avec lesquelles tu fais ce que tu as à faire.
Puis tu utilises un tableau, que tu déclares avant la boucle, pour faire et stocker séparément les cumules de chaque tour de boucle...
Et voilà c’est bon^^

Non? Smile


RE: déchiffrer et additionner - Anthor - 01-08-2009

Comme je le disais, tout dépend de si il s'agit d'une addition de lignes ou d'une adition des champs, dans tous les cas pas besoin de traitement par boucle Wink


RE: déchiffrer et additionner - alechuga - 01-08-2009

En fait c'est une addition de champs.
Je pense qu'expliquer le problème entièrement sera plus simple.


Je veux faire un système ou les stats de chaque joueurs alliés s'additionnent, vitesse de a+b = vitesse C.
Or je ne veux pas limiter le nombre de joueurs voulant s'additionner et surtout (en fait la cause du problème) c'est que chaque joueur dispose de bonus contextuels donc je peux pas juste faire une addition de toutes les vitesses car le joueur 3 par exemple à en ce moment un bonus de 30% non inscrit sur la BDD (mais uniquement sous forme de variable inclut dans les pages).

Je dois donc prendre chaque champ, faire le calcul puis ensuite l'additionner à tout les autres. Et je vois pas comment faire. Maintenant que vous le dite je pourrais à la limite faire une table avec les stats en direct de chaque joueur mais j'aimerais éviter si possible.

Sinon je vais passer pour un gros looser mais je sais pas comment faire un tableau pour stocker les données sans passer par la BDD.


RE: déchiffrer et additionner - Argorate - 01-08-2009

Si tu as des variables contenant tes bonus malus. il te suffit d'aditionné tes deux champs récup de ta BDD, puis d'y ajouter les variable avec les malus/bonus...

Encore une fois je ne saisie pas exactement le probleme Confused

Pour les tableaux : Array


RE: déchiffrer et additionner - NicoMSEvent - 01-08-2009

personnellement, je préfère tout avoir en BDD (trop de risque de triche sinon... un cookie ça se modifie trop facilement, une variable de session, ça remet a zero en se reconnectant, ...


RE: déchiffrer et additionner - Anthor - 01-08-2009

Entre BDD, et Cookie/Session, y'a tout un monde Big Grin

Les fichiers, la mémoire... Y'a pas que la bdd dans la vie.


RE: déchiffrer et additionner - Allwise - 01-08-2009

Dans ta requête SQL, tu peux déjà faire SELECT (champ1+champ2+champ3) AS monNouveauChamp pour additionner les champs d'un même tuple, et SELECT SUM(vitesse) as superVitesseDesAlliesQuiRoxent pour additionner le champ vitesse de tous les tuples retournés par ta requête.
Mais pour additionner la vitesse des alliés, la seconde solution me paraît plus logique... Je vois pas pourquoi dans une même table on aurait la vitesse de plusieurs entités différentes... Y a peut-être un prob de conception dans ta BDD.

Tu peux donc calculer la somme d'une caractéristique via ta requête, et y ajouter ensuite les bonus / malus qui ne sont pas en base. Tu pourrais nous donner la structure des tables concernées ?

==> Infos sur les tableaux en PHP
Mais si t'as des difficultés avec les tableaux, il serait peut-être bon de revoir les bases avant d'aller plus loin.


RE: déchiffrer et additionner - alechuga - 01-08-2009

Je pense que les tableaux sont la solutions qui s'imposent, je les ai utilisé que très peu dans mon jeu et pour des situations totalement différentes donc je m'y connais pas beaucoup.
Je vais essayer d'en apprendre plus sur eux.

Pour les ajouts contextuels c'est stocké sur les fichiers sous forme de variable.


RE: déchiffrer et additionner - Anthor - 01-08-2009

De toute façon si tu utilises les résultats en provenance d'une BDD, c'est aussi un tableau..