Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoye dans la BDD

    9 février 2006 à 20:55:10

    Bonjour a tous, voila j'ai fait une petite page.
    formulaire Création membres et resultat battle mais les resultat ne mettent pas a jour la bdd. j'aimerai bien savoir pk :colere:

    <?
    /*
      CREATE TABLE `classement` (
      `id` int(11) NOT NULL auto_increment,
      `pseudo` varchar(25) NOT NULL,
      `gagner` varchar(4) NOT NULL,
      `perdu` varchar(4) NOT NULL,
      `nul` varchar(4) NOT NULL,
       `point` varchar(5) NOT NULL,
      KEY `id` (`id`)
    ) ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_bin AUTO_INCREMENT=1 ;
    */


    include("config.php");
    //connection a la base de donnée
    mysql_connect("$serveur", "$login", "$pass"); // Connexion à MySQL
    mysql_select_db("$bdd"); // Sélection de la base themeche
    //récuperatation
    $classement = mysql_query("SELECT * FROM classement");


    //SI AJOUT DE PSEUDO REMPLI
    if (!empty($_POST2['addpseudo']))
            {
            $addpseudo = htmlentities ($_POST['addpseudo']);
                                                              // Requete d'ajout   ID  ,    Pseudo,  Gagner , perdu  ,nul     
            mysql_query("INSERT INTO classement VALUES('', '$addpseudo', '0', '0', '0' ,'0')");
            }
           
    if (!empty($_POST['pseudo']) AND !empty($_POST['resultat']))
    {       
    //Operation Selon les derniere entrer.
    $classement = mysql_fetch_array($classement);
            if ($_POST['resultat'] = 'perdu')
            {
                    $nbperdu = $classement['perdu'];
                    $perdu = $nbperdu + 1;
                    //envoye des non changer
                    $nul = $classement['nul'];
                    $point = $classement['point'];
                    $gagner = $classement['gagner'];       
            }
            else if ($POST['resultat'] = 'nul')
            {
                    $pointactuel = $classement['point'];
                    $point = $pointactuel + 5;     
                    $nbnul = $classement['nul'];
                    $nul = $nbnul + 1;
            }
            else if ($_POST['resultat'] = 'gagner')
            {
                    $pointactuel2 = $classement['point'];
                    $point = $pointactuel2 + 10;
                    $gagner = $classement['gagner'] + 1;
                    //envoye des non changer
                    $perdu = $classement['perdu'];
                    $nul = $classement['nul'];
            }
            //Envoye de la nouvelle requete
    mysql_query("UPDATE classement SET gagner='".$gagner."' nul='".$nul."' perdu='".$perdu."' point='".$point."' WHERE pseudo='".$_POST['pseudo']."'") or die (mysql_error());       
    }

    ?>

    <form action="index.php" method="post">
    <p>
    <!-- Selecteur des pseudo de la BDD-->
    <select name="pseudo">
    <?
    while ($listpseudo = mysql_fetch_array($classement) )
    {?>
        <option value="<? echo $listpseudo['pseudo'];?>"><? echo $listpseudo['pseudo'];?></option>
    <?}?>   
    </select><br/>
    <!-- Gagné, Perdu, nul-->
    <input type="radio" name="resultat" value="gagner" /> Gagner
    <input type="radio" name="resultat" value="perdu" /> Perdu
    <input type="radio" name="resultat" value="nul" /> Nul
    <br/><br/>
    <input type="submit" value="Envoyer" />

    </form>

    <form action="index.php" method="post2">
    <!-- Ajout d'un nouveau pseudo-->
    Le pseudo du membres n'
    existe pas! Ne remplir que ceci:<br/>
    Pseudo : <input type="text" name="addpseudo" /><br />
    <br/>
    <input type="submit" value="Envoyer" />
    </p>

    </form>
    <?
    // On a fini de travailler, on ferme la connexion :
    mysql_close(); // Déconnexion de MySQL
    ?>


    merci de votre aide bonne soirée
    • Partager sur Facebook
    • Partager sur Twitter
      10 février 2006 à 6:53:22

      Toujours le or die (mysql_error()); :

      mysql_query("UPDATE classement SET gagner='".$gagner."' nul='".$nul."' perdu='".$perdu."' point='".$point."' WHERE pseudo='".$_POST['pseudo']."'") or die (mysql_error());


      Ca sert à quoi les annexes ?

      ++
      aimak
      • Partager sur Facebook
      • Partager sur Twitter
        11 février 2006 à 12:38:12

        Salut,
        Erreur de syntaxe près de 'nul='0' perdu='1' point='0' WHERE pseudo='TheMeche'' à la ligne 1

        Pas moyen de trouvé d'ou ça vient j'ai chercher toucher mais rien.
        J'ai mit mon premier post a jour
        • Partager sur Facebook
        • Partager sur Twitter
          11 février 2006 à 12:47:03

          Il n'y a pas de virgule entre les différents champs ;)

          ++
          aimak
          • Partager sur Facebook
          • Partager sur Twitter
            11 février 2006 à 20:09:05

            je te remercie je ne savais pas
            • Partager sur Facebook
            • Partager sur Twitter
              12 février 2006 à 20:58:31

              bonjour, maintenant j'ai un envoye dans la Base mais se trompe il prend que le perdu en compte!
              Je pense que c'est une erreur d'utilisation dans ça:
              if ($_POST['resultat'] = 'perdu')
                      {
                              $nbperdu = $classement['perdu'];
                              $perdu = $nbperdu + 1;
                              //envoye des non changer
                              $nul = $classement['nul'];
                              $point = $classement['point'];
                              $gagner = $classement['gagner'];       
                      }
                      else if ($POST['resultat'] = 'nul')
                      {
                              $pointactuel = $classement['point'];
                              $point = $pointactuel + 5;     
                              $nbnul = $classement['nul'];
                              $nul = $nbnul + 1;
                      }
                      else if ($_POST['resultat'] = 'gagner')
                      {
                              $pointactuel2 = $classement['point'];
                              $point = $pointactuel2 + 10;
                              $gagner = $classement['gagner'] + 1;
                              //envoye des non changer
                              $perdu = $classement['perdu'];
                              $nul = $classement['nul'];
                      }


              Merci encore et désolé de toutes mes questions.
              • Partager sur Facebook
              • Partager sur Twitter
                13 février 2006 à 2:10:47

                Le symbole = sert à l'affectation, ton test est donc toujours vrai.
                Le symbole pour le test d'égalité est == :

                if ($_POST['resultat'] == 'perdu')

                Idem pour tes autres tests ;)

                • Partager sur Facebook
                • Partager sur Twitter

                Envoye dans la 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