18-09-2012, 09:52 PM
Bonsoir a tous,
J'ai besoin d'un petit peu d'aide sur ce coups.
Je suis en train de faire une fonction, qui permet a un joueur de donner X piece d'or à une ville (Forteresse).
Cette fonction doit:
-Diminuer le nb d'or du joueur (logique^^)
-Remplir une table d'association appelé InvestirFort où la clé primaire est la réunion de:
l'id du joueur/id de la Forteresse/Libelle du Bâtiment où l'or est investis.
Toute fois, je dois différencier 2 cas:
1 er cas: Le joueur as déjà investis, je doit donc faire un Update de cette table.
2eme cas: Le joueur n'a jamais investi ici, je doit injecter les nouvelles données.
Pour différencier les deux cas, j'ai pensé a ce bout de code:
J'ai besoin d'un petit peu d'aide sur ce coups.
Je suis en train de faire une fonction, qui permet a un joueur de donner X piece d'or à une ville (Forteresse).
Cette fonction doit:
-Diminuer le nb d'or du joueur (logique^^)
-Remplir une table d'association appelé InvestirFort où la clé primaire est la réunion de:
l'id du joueur/id de la Forteresse/Libelle du Bâtiment où l'or est investis.
Toute fois, je dois différencier 2 cas:
1 er cas: Le joueur as déjà investis, je doit donc faire un Update de cette table.
2eme cas: Le joueur n'a jamais investi ici, je doit injecter les nouvelles données.
Pour différencier les deux cas, j'ai pensé a ce bout de code:
Code PHP :
<?php
$idInvestissement='' . $idJoueur . '/' . $idCapitale . '/' . $libelleBat . ''; //Id de l'investissement actuel
$reponseInvest=$bdd->query('select * FROM InvestirFort Where idInvFort=' . $idInvestissement . '');
$Invest=$reponseInvest->fetch();
$idInvestTrouvé=$Invest[idInvFort];
if ($idInvestTrouvé=$idInvestissement) //Si on as trouvé le même ID, donc si il y a déjà eu investissement
{
$bdd->query('UPDATE InvestirFort SET nbOrInvesti=nbOrInvesti + ' . $nbOr . ' WHERE idInvFort=' . $idInvestissement . '');
}
else
{
$bdd->query('Insert into InvestirFort (idInvFort,libelleBat,nbOrInvesti) VALUES
("' . $idInvestissement . '"," ' . $libelleBat . '",' . $nbOr . ')');
}
Le probleme ici, est que si le joueur n'a jamais investi dans cette Forteresse, et dans ce Batiment précis, MySQL me renvoie une erreur, comme quoi il ne trouve pas la clé lorsque je fais la recherche WHERE:
Code PHP :
<?php
$reponseInvest=$bdd->query('select * FROM InvestirFort Where idInvFort=' . $idInvestissement . '');