JeuWeb - Crée ton jeu par navigateur
Problème avec le script des ressources - 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 : Problème avec le script des ressources (/showthread.php?tid=4057)

Pages : 1 2 3


RE: Problème avec le script des ressources - pascal - 27-10-2010

(27-10-2010, 10:01 AM)Hunty a écrit : Effectivement, merci Smile

Par contre, je suis formel : dans ma base de données, la quantité est à 0 ...
Et si je la mets à 10, je passe à 130 dans l'affichage.

0 bois + (120 secondes * 1 bois/seconde) = 120 bois

10 bois + (120 secondes * 1 bois/seconde) = 130 bois

ça me semble tout à fait cohérent.

A+

Pascal


RE: Problème avec le script des ressources - Ter Rowan - 27-10-2010

et beh c'est bon alors




ton code force le temps à 120s avec une production de 1 par seconde
Citation :$iProductionParSeconde = 1; // Sa menuiserie produit 1 bout de bois par seconde
$iTempsDerniereModif = time() - (2 * 60); // On va dire que la dernière mise à jour a été effectué il y a 2 min.

conclusion
si tu as 0 en bdd, tu affiches 120
si tu as 10 en bdd, tu affiches 130


essaie en modifiant $iProductionParSeconde = 4;
tu verras 480 ou 520

essaie en modifiant $iProductionParSeconde = 1; et $iTempsDerniereModif = time() - (8 * 60);

et tu auras 480 ou 490

reste il un problème ?
grillé par Blaise, nerf...


RE: Problème avec le script des ressources - Hunty - 27-10-2010

Bien sûr, j'avais oublié les 120s, merci Smile

Bon, il ne me reste plus qu'à mettre à jour la base de données et ce sera tout bon Smile
*Court faire ses essais*

Merci à tous Wink


RE: Problème avec le script des ressources - Plume - 27-10-2010

N'oublie pas de passer le sujet en Résolu Smile


RE: Problème avec le script des ressources - Hunty - 27-10-2010

Je pensais attendre de voir si j'avais des soucis à mettre à jour la base de données Smile
Mais je peux mettre [résolu] et refaire un sujet si j'ai des soucis, mais ça ferait un peu lourd non?

EDIT :
En parlant de soucis, j'ai une erreur qui s'affiche :
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in ...

Savez-vous ce qu'elle signifie? j'ai cherché sur Google, mais pas de réponse concrète ...
Mieux, si vous connaissez un site qui répertorie toutes les erreurs PHP et SQL et qui indique ce qu'elles signifient, je ne vous embêterais plus avec ça ^^
Merci Smile


RE: Problème avec le script des ressources - Plume - 27-10-2010

L'erreur complète aurait été intéressante. Avec le code source de la page impliquée.


RE: Problème avec le script des ressources - Hunty - 27-10-2010

Voici l'erreur complète :
Citation :Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/.nfs1/hunty/www/Jeu/test.php on line 25

Et la ligne 25 du code :


@mysql_select_db->exec('UPDATE Ressource SET quantité = $iRessourceTotale WHERE nom = \'Bois\'');



RE: Problème avec le script des ressources - popayan - 27-10-2010

essaie:

@mysql_select_db->exec("UPDATE Ressource SET quantité = $iRessourceTotale WHERE nom = 'Bois' ");

et rien à voir avec ton problème mais @mysql... c'est le mal!


RE: Problème avec le script des ressources - Plume - 27-10-2010

C'est parce que tu mets une variable dans une chaîne de caractères encapsulée par des guillemets simples. Du coup, la variable n'est pas interprétée par PHP mais considérée comme une chaîne de caractères elle même. En gros, c'est comme si tu étais dans PHPMyAdmin et que tu essayais d'exécuter la requête suivante :
UPDATE Ressource SET quantité = $iRessourceTotale WHERE nom = 'Bois'
On est d'accord, ce n'est pas valide comme requête SQL.

Tu as donc 2 possibilités :
  • Soit tu encapsules ta requête dans des guillemets doubles :
    @mysql_select_db->exec("UPDATE Ressource SET quantité = $iRessourceTotale WHERE nom = 'Bois'");
  • Soit tu dois concaténer ta variable avec la requête :
    @mysql_select_db->exec('UPDATE Ressource SET quantité = '. $iRessourceTotale .' WHERE nom = \'Bois\'');

'oilà !

Sinon, je te déconseille cette habitude d'utiliser le symbole @. Masquer les erreurs, c'est pas une solution pour développer une application fiable.

@tchaOo°


RE: Problème avec le script des ressources - Myrina - 27-10-2010

(27-10-2010, 12:14 PM)Hunty a écrit : Voici l'erreur complète :
Citation :Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/.nfs1/hunty/www/Jeu/test.php on line 25

Et la ligne 25 du code :


@mysql_select_db->exec('UPDATE Ressource SET quantité = $iRessourceTotale WHERE nom = \'Bois\'');
L'erreur signalée vient du ->!!! rien d'autre!

mysql_select_db n'est pas un objet, mais éventuellement une fonction qui attend des paramètres entre parenthèses.

Pourquoi ne pas avoir conservé le code du post initial?

// Mise a jour dans la bdd
mysql_query("UPDATE Ressource SET quantité = $iRessourceTotale WHERE nom = 'Bois'");
?>

NB: il serait préférable de ne pas mettre des noms de colonnes accentués pour éviter des problèmes liés aux encodages (ISO-8859,UTF-8)