Partage
  • Partager sur Facebook
  • Partager sur Twitter

Faire un UPDATE automatique

tous les jours par exemple...

Sujet résolu
    4 août 2006 à 10:47:54

    Salut tout le monde !

    Voilà, je voulais savoir si c'était possible de faire un UPDATE automatique tous les jours.

    Pour mieux vous expliquer, je prends mon exemple :
    Sur mon site, j'ai fait une partie jeu avec laquelle on peut gagner de l'argent (virtuel bien sur ^^)

    Le problème, c'est que je ne veut pas que mes visiteurs s'enrichissent trop vite, j'ai donc fait en sorte, dès qu'ils gagnent, une variable de la bdd soit incrémentée. Ainsi, le joueur ne peut gagner plus de 3 fois par jour, un message le préviens lorsque la variable a atteint 3.

    Le problème, c'est que si je ne fais rien, ils ne pourront gagner que 3 fois...

    Je cherche donc une fonction pour remettre cette variable à zéro tous les jours...

    Voila, merci d'avance :D
    • Partager sur Facebook
    • Partager sur Twitter
      4 août 2006 à 10:51:43

      Tu peux utiliser un script qui utilise les taches CRON! Si ton hebergeur ne les acceptent pas, tu peux aller voir du coté de www.webcron.org je crois .
      Le systéme étant de créer un fichier php qui ne sera executé qu'une fois par jour soit par ton serveur lui même soit par webcron .

      voila
      • Partager sur Facebook
      • Partager sur Twitter
        4 août 2006 à 11:07:46

        Ok, j'ai téléchargé webcronsave 1.141, mais je comprends pas tout en fait, je l'ai mis sur le ftp, mais il me dit :
        "Veuillez créer le repertoire 'webcronsave' pour sauvegarder votre config et vos sauvegardes."

        De quel répertoire il parle ?

        Et est ce que je dois modifier le scirpt PHP ??

        Si oui, ou ca, car y a tellement de choses, j'ose pas trop y toucher XD
        • Partager sur Facebook
        • Partager sur Twitter
          4 août 2006 à 11:09:36

          Non non ce n'est pas webcronsave. Webcronsave permet de sauvegarder ta base de données à des horaires fixes. Pour ce dont tu as besoin va voir la : http://www.webcron.org/inscription.php
          • Partager sur Facebook
          • Partager sur Twitter
            4 août 2006 à 11:09:49

            Je ne pense pas qu'il soit nécessaire de faire appel à quelque chose comme ça.

            Il suffit d'ajouter une variable dans la base de donnée qui contient la date de la dernière victoire. Et à partir de là, quand un joueur se connecte, si ça dernière victoire date de la veille, tu remet l'autre variable (celle du nombre de victoire) à zéro.
            Sans oublier biensur de mettre à jour la date de la dernière victoire à chaque nouvelle victoire.

            Au final, pas d'update automatique, mais le résultat est le même.
            • Partager sur Facebook
            • Partager sur Twitter
              4 août 2006 à 11:11:44

              En fait, le truc, c'est que je suis archi nul en timestamp -__-'

              J'ai beau relire les tutos, faire des essais, ca m'énerve, c'est le seul truc ou j'ai du mal...

              EDIT : Sur webcron, j'ai lancé une tâche...

              Je trouve bizarre qu'il ne demande que l'URL de la page...

              J'ai donc mis l'url de la page, et un update tous les jours à 0h, mais ca va vraiment marcher ?
              • Partager sur Facebook
              • Partager sur Twitter
                4 août 2006 à 11:17:11

                J'avais pas lu ton message mais tu n'a effectivement pas besoin de webcron pour ca.
                Dans ta table tu mets dernière_visite et parties_utilisées (bon tu peux changer les noms hein)
                Puis dans ton script tu fais un truc du genre :
                - Tu récupère la date de dernière visite du membre
                - Si la date de dernière visite du membre est différente de la date actuelle tu mets parties_utilisées à 0 et tu modifies ton champ dernière_visite avec la date actuelle.

                Si t'a pas bien compris un truc, je peux réexpliquer :)
                • Partager sur Facebook
                • Partager sur Twitter
                  4 août 2006 à 11:18:21

                  Ok, je vais faire ça, merci !

                  Je reviens si ca marche pas ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 août 2006 à 11:18:49

                    Si t'aimes pas les timestamp, effectivement, webcron est la bonne méthode.

                    Mais quand même, c'est pas bien compliqué... :p

                    Par contre, webcron, je connais pas vraiment. Je supose qu'il faut que tu mette l'url de la page contenant le script remet ta variable à zéro.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 août 2006 à 11:39:17

                      Pas grave, j'ai réussi ^^

                      Juste un truc, vu que quand le joueur va jouer un jour plus tard, et qu'il a gagné 3 fois la veille, même si ca remet à 0, le message "tu as gagné 3 fois" s'affiche tout de même -__-

                      Je vous passe le code :


                      <?php
                      $rep = mysql_query ("SELECT nombre, date_nombre FROM inscrits WHERE pseudo = '$pseudo'") or die (mysql_error());

                      $data=mysql_fetch_assoc($rep);
                      $essai=$data['nombre'];
                      $date_nombre=$data['date_nombre'];

                      $date_now = date('d/m/Y');

                      if ($date_nombre != $date_now)
                      {
                      include('config.inc.php');
                      mysql_connect($host, $username, $password);
                      mysql_select_db($bdd_name);
                      $req = "UPDATE inscrits SET nombre = 0 WHERE pseudo = '$pseudo'";
                      mysql_query($req) or die(mysql_error());
                      }
                      if ($essai >= '3')
                      {
                      echo '<h1>Tu as Gagné 3 fois</h1><center><p> Tu ne peut pas gagner plus de 3 fois par jour, désolé</p></center>';
                      }
                      else
                      {
                      ?>

                       <h1>Trouver le bon nombre</h1>

                       <p><font color="green" size=+1><center>Vous devez trouver un nombre entre 0 et 20. Vous n'avez qu'un seul essai.
                       <br /> Si vous réussissez, vous gagnez 200 Ryos, mais vous ne pouvez gagner que 3 fois par jour.</center></font></p>
                       <div id="nombre">
                       <form method="post" action="nombre.php">
                       <br>
                       <b><font color="red" size=+1>   Votre choix :</font></b>
                       <input type="text" name="devine1" size="5">
                       <input type="submit" value="Essayer">
                       </form></div><br />
                      <?php
                      }
                      ?>


                      EDIT : En fait c'est bon ^^
                      • Partager sur Facebook
                      • Partager sur Twitter
                        4 août 2006 à 11:47:21

                        if ($essai >= '3')
                        $essai contient toujours le nombre d'hier.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 août 2006 à 11:48:18

                          Non, mais c'est bon, suffit de mettre elseif et ca marche ^^

                          Et oui, ca je le savais qu'il contenait le nombre d'hier :p

                          Bon ben merci à tous !
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Faire un UPDATE automatique

                          × 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