Partage
  • Partager sur Facebook
  • Partager sur Twitter

Soustraction d'un certain nombre d'une donnée de BDD

Sujet résolu
    20 décembre 2010 à 7:04:19

    Salut,

    Avec une amie, on a décidé de faire un "élevage virtuel". Pas en 3D ni 2D mais avec du texte des dessins, des options, etc.

    Mais voilà...le problème est pour "acheter" des objets. Dans la base de données, chaque membre a une somme définis de la monnaie qu'on utilise dans ce jeu. Quand on "achète" des objets, il faut que le prix de cet objet se retire de la somme d'argent qu'on a dans la BDD.

    J'ai pensé à un formulaire avec un champs caché dont la valeur est le prix de l'objet. Quand on clique sur le bouton, on est renvoyé à une autre page.
    C'est là que j'aurais besoin de votre aide...

    Il faudrait quelque chose du genre de : $monnaie - $prix.

    Vous voyez ce que je veux dire ?

    Merci beaucoup d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2010 à 10:35:43

      UPDATE table SET monnaie = monnaie - '$prix' WHERE membre_id = '$id'
      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2010 à 17:04:02

        Ca ne marche pas...
        Pour le formulaire, j'ai mis cela :

        <form action=buy.php method="post"> 
        <input type="hidden" name="prix" id="prix" value="50">
        <input type="submit" name="submit" value="Acheter">
        </form>
        


        Sur la page buy.php, j'ai mis cela (la connexion MySQL est ouverte tout en haut de la page, dans la "protection" qui n'autorise que les membre à voir cela) :

        <?php 
        
        $prix=$_POST['prix'];
        
        $requete=mysql_db_query($sql_bdd,"UPDATE membre SET cv_molts = cv_molts - '$prix' WHERE id = '$id'",$db_link) or die(mysql_error());
        // DECONNEXION MYSQL	
        mysql_close($db_link);
        ?>
        


        Les cv_molts, c'est la monnaie ^^
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2010 à 17:19:57

          Ben l'id tu la récupères comment ??

          Et ca veut dire quoi "ca marche pas" ? Ca fait pas ce que tu veux ? Ca fait une erreur ??
          • Partager sur Facebook
          • Partager sur Twitter
            20 décembre 2010 à 17:28:14

            Euh..."ça marche pas" car le nombre n'est pas retiré à la monnaie dans la BDD. J'ai essayé avec 50 tout simple et cela ne marche pas...

            L'id est récupéré dans le haut de la page...

            <?php
            require("conf.php3");
            
            // CONNEXION MYSQL
            $db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
            if(!$db_link) {echo "Connexion impossible à la base de données <b>".$sql_bdd."</b> sur le serveur <b>".$sql_serveur."</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
            
            if (isset($_GET['id'])) {
            $id=$_GET['id'];
            
            // SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
            $requete=mysql_db_query($sql_bdd,"select * from membre where id=\"$id\"",$db_link) or die(mysql_error());
            
            // SI L'ID N'EXISTE PAS
            if(mysql_num_rows($requete)==0)
            	{
            	// REDIRECTION PAGE ERREUR
            	header("Location:$url_erreur");
            	exit;
            	}
            
            // LIGNE FACULTATIVE : RECUPERATION DU PSEUDO
            $pseudo_membre=mysql_result($requete,0,"pseudo");
            // CHAMPS SUPLEMENTAIRES
            // Si vous avez ajouté des champs dans la table SQL, inspirez-vous de la ligne précédente pour récupérer leur valeur. Exemple :
            //$ville=mysql_result($requete,0,"ville");
            	
            }
            ?>
            


            Ceci est en haut de toute les pages accessible que pour les membres.
            • Partager sur Facebook
            • Partager sur Twitter
              20 décembre 2010 à 17:32:24

              Enlève les guillemets autour de $prix et $id dans la requête.
              • Partager sur Facebook
              • Partager sur Twitter
                20 décembre 2010 à 17:39:58

                Ahhh non ! J'ai fais cette erreur quelques dizaines de fois, mais je la répète toujours...

                Le formualaire avec l'erreur :

                <form action=buy.php method="post"> 
                <input type="hidden" name="prix" id="prix" value="50">
                <input type="submit" name="submit" value="Acheter">
                </form>
                


                Le formulaire sans l'erreur :

                <form action="buy.php?id=<?php echo "$id" ?>" method="post"> 
                <input type="hidden" name="prix" id="prix" value="50">
                <input type="submit" name="submit" value="Acheter">
                </form>
                


                J'avais tout simplement oublié de mettre l'id du membre dans l'adresse de la page buy.php

                Merci quand même !
                • Partager sur Facebook
                • Partager sur Twitter

                Soustraction d'un certain nombre d'une donnée de BDD

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown