JeuWeb - Crée ton jeu par navigateur
Problème achats - 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 achats (/showthread.php?tid=4955)

Pages : 1 2


RE: Problème achats - Joojo - 10-07-2010

Je pense que c'est cette variable qui déconne : $exparray['0'] ainsi que ses cousines dans les autres requêtes, elle doit être null ou contenir 0, donc il n'y a pas de soustraction, ta requête fonctionne mais la donnée enregistrée dans la table sera juste $argentsarray['0'].

Pas la science infuse, peut être faux.


RE: Problème achats - Anthor - 10-07-2010

Et personne pour lui dire que c'est pas comme ça qu'on diminue un champs ?!


UPDATE `table` SET `field` = `field` - 2 WHERE ...

Citation :Sur la lisibilité de mon script, en effet c'est pas lisible mais pour moi ça l'ai. J'ai donc essayé de le rendre plus lisible.

Ce genre de phrase dans une demande d'aide me fait toujours sourire.
C'est tellement lisible que tu n'es pas capable de debugger le code par toi même ^^

Est-ce si difficile de lire le debug renvoyé ? Ne vois tu pas que ton deuxième tableau ne renvoi que 1 ?


RE: Problème achats - Globe - 10-07-2010

Et ça ne serait pas plus simple de faire un script qui prenne en compte tous les bâtiments plutôt que de faire une condition à chaque fois ?

Avec une table bâtiments, un champs pour l'id du batiment, un pour son cout de modification (ici j'ai multiplié par deux à l'incrémentation du niveau), un champs pour l'id du joueur.

Genre quelque chose comme ça, c'est surement bourré de fautes je ne suis pas développeur.
Code PHP :
<?
$id_batiment
= $_GET['id_batiment']; // Tu envois l'id du batiment à augmenter dans l'adresse

$requete_batiment = "SELECT gold, niveau FROM batiments WHERE id_batiment='".$id_batiment."' AND id_joueur='".$id_joueur."'";
$req = mysql_query($requete_batiment) or die('Erreur SQL !<br>'.$requete_batiment.'<br>'.mysql_error());
$infos_batiment = mysql_fetch_assoc($req);
$prix_gold = $infos_batiment['gold'];
$niveau = $infos_batiment['niveau'];

$requete_ressources = "SELECT gold FROM joueurs WHERE id='".$id_joueur."'";
$req2 = mysql_query($requete_ressources) or die('Erreur SQL !<br>'.$requete_ressources.'<br>'.mysql_error());
$infos_joueurs = mysql_fetch_assoc($req2);
$gold = $infos_ressources['gold'];

if (
$gold >= $prix_gold) {

// On met à jour la table batiment, chaque joueur y à une entree par batiment, on incrémente donc le niveau et le prix du batiment pour le batiment du joueur ciblé
$update_batiments = mysql_query('UPDATE batiments
SET niveau = niveau+1, gold = gold*2
WHERE id_batiment="'
.$id_batiment.'"
AND id_joueur="'
.$id_joueur.'"');

mysql_query($update_batiments ) or die('Erreur SQL !'.$update_batiments .'<br>'.mysql_error());


$update_joueurs = 'UPDATE joueurs SET gold=gold-$prix_gold WHERE id="'.$id_joueur.'"');
mysql_query($update_joueurs ) or die('Erreur SQL !'.$update_joueurs .'<br>'.mysql_error());

}
else {
echo
"Vous ne possédez pas les ressources nécessaires.";
}
?>

Enfin je dis ptet des conneries.


RE: Problème achats - vulcain - 17-07-2010

Merci de votre aide à tous, maintenant ça fonctionne parfaitement (h)(h)