JeuWeb - Crée ton jeu par navigateur
Probleme dans notre script - 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 : Probleme dans notre script (/showthread.php?tid=1066)

Pages : 1 2


Probleme dans notre script - zneman - 13-04-2007

Voila donc notre script de tour (sans la comparaison du timestamp ni rien Wink).
Il me rajoute bien 50 000 galds, 1 tour, mais pas le mana :heuuu:

J'ai beau regarder et re regarder encore... je ne vois pas la faute Sad
Pouvez vous me dire ce que vous en pensez ?

Code PHP :
<?php
//Inclusion du fichier contenant les identifiants de connexion à la base de données.
require("config.inc.php");
//Connexion à la base de données.
mysql_connect($host, $username, $password);
mysql_select_db($bdd_name);
//on va chercher les infos
$reponse_tours = mysql_query("SELECT gald, tours, mana FROM membres")or die (mysql_error());
$tours = mysql_fetch_array($reponse_tours);

$reponse_mage = mysql_query("SELECT mages FROM troupes")or die (mysql_error());
$mage = mysql_fetch_array($reponse_mage);

//on Ajoute un tour au joueur
$actualisation_tours=$tours['tours']+1;
// On ajoute 50000 Galds au joueur
$actualisation_gald = $tours['gald'] + 50000;
// On ajoute 10 de mana en plus au joueur pour chaque mage qu'il possede
$actualisation_mana = $tours['mana'] + ($mage['mages'] * 10);
//on va modifier tout sa
mysql_query("UPDATE membres SET gald= '".$actualisation_gald."', tours= '".$actualisation_tours."', mana= '".$actualisation_mana."'");
?>

Merci =)


RE: Probleme dans notre script - NicoMSEvent - 13-04-2007

essaye d'afficher ceci, ça sera p-e plus parlant
Code PHP :
<?php 
echo $actualisation_mana.' = '.$tours['mana'].' + ('.$mage['mages'].' * 10);';



RE: Probleme dans notre script - Roworll - 13-04-2007

Une remarque
Code :
SELECT mages FROM troupes[/code ] me parait bien large comme requpete.. pas de where pour filtrer le résultat en fonction du joueur...
Ensuite essaye de faire un [code]echo 'mages : ' . $mage['mages'];
juste après
Code :
$actualisation_mana = $tours['mana'] + ($mage['mages'] * 10);
histoire de voir ce que tu as comme multiplicateur


RE: Probleme dans notre script - zneman - 13-04-2007

en fait, je crois que l'erreur vient du fait que chaque joueur a un nombre de mages different ! Confused


RE: Probleme dans notre script - joshua - 13-04-2007

burk c'est quoi ce gars qui stocke la mise a jour a chaque appel de la fonction. Tu vas me nettoyer ca tout de suite Sad
le timestamp permet justement d'eviter ca et de recalculer a chaque appel sans pour autant mettre à jour la base ce qui fait economiser beaucoup de ressource machine!! (meme si j'ai 2Go de RAM, hein!)


RE: Probleme dans notre script - zneman - 13-04-2007

Ce n'est pas tout mon code Joshua ^^


RE: Probleme dans notre script - zneman - 13-04-2007

Je viens de faire un test sans multiplier par les sorciers, ca marche toujours pas oO

Code PHP :
<?php
//Inclusion du fichier contenant les identifiants de connexion à la base de données.
require("config.inc.php");
//Connexion à la base de données.
mysql_connect($host, $username, $password);
mysql_select_db($bdd_name);
//on va chercher les infos
$reponse_tours = mysql_query("SELECT gald, tours, mana FROM membres")or die (mysql_error());
$tours = mysql_fetch_array($reponse_tours);
//on Ajoute un tour au joueur
$actualisation_tours=$tours['tours']+1;
// On ajoute 50000 Galds au joueur
$actualisation_gald = $tours['gald'] + 50000;
// On ajoute 10 de mana en plus au joueur pour chaque mage qu'il possede
$actualisation_mana = $tours['mana'] + 150000;
//on va modifier tout sa
mysql_query("UPDATE membres SET gald= '".$actualisation_gald."', tours= '".$actualisation_tours."', mana= '".$actualisation_mana."'");
?>



RE: Probleme dans notre script - Kassak - 13-04-2007

Tu as bien fait ton select dans l'ordre? gald tours et mana sont dans cet ordre dans la table?

Verifie tes champs, et essaye ta requete direct dans phpmyadmin, pour voir si c'est dans ta table que ca marche pas ou dans ton codeWink

Et moi, quand je fais un update dns ton genre, je fais juste gald= '$actualisation_gald', et ca marche bien, je ne sais pas si c'est toi ou moi la meilleur solutionWink


RE: Probleme dans notre script - icien - 13-04-2007

Hum :
Code PHP :
<?php 
$reponse_tours
= mysql_query("SELECT gald, tours, mana FROM membres")or die (mysql_error());
$tours = mysql_fetch_array($reponse_tours);
//on Ajoute un tour au joueur
$actualisation_tours=$tours['tours']+1;
// On ajoute 50000 Galds au joueur
$actualisation_gald = $tours['gald'] + 50000;
// On ajoute 10 de mana en plus au joueur pour chaque mage qu'il possede
$actualisation_mana = $tours['mana'] + 150000;
ici tu ne récupère que les infos du premier enregistrement, et donc tu mets a jour tout les membres par rapport au premier récupéré par ta requête. Il faudrait donc passer pas un While pour récuperer les info de chaque membre et faire un UPDATE pour chaque, mais la c'est pas top niveau temps.
Je te conseil donc de tout faire en une requete:

Code PHP :
<?php
//Inclusion du fichier contenant les identifiants de connexion à la base de données.
require("config.inc.php");
//Connexion à la base de données.
mysql_connect($host, $username, $password);
mysql_select_db($bdd_name);
//on modifie les infos
mysql_query("UPDATE membres SET gald= gald+5000, tours= tours+1, mana= mana+150000");
?>



RE: Probleme dans notre script - zneman - 13-04-2007

xD merci a toi, on vient de me l'expliquer de la même maiere sur MSN Smile