MySql UPDATE

Germain -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila je voudrais que chaque joueurs reçoivent ses crédits chaque heures sans qu'ils soient connecter !

<?php
		
		$nouveau_temps_territoire = time();
		
		mysql_query("UPDATE membres SET paltime = $nouveau_temps_territoire WHERE pseudo = '" . $_SESSION['pseudo'] . "'");

		$heure_maj_territoire = $retour['paltime'];
		
		$heure_territoire = date('h',$heure_maj_territoire);
		
		$heure = date('h');
		
		$pieces_total = $retour['pieces'] + $retour['territoire'];
		
		if ($heure_territoire != $heure)
		{
		mysql_query("UPDATE membres SET pieces = $pieces_total WHERE pseudo = '" . $_SESSION['pseudo'] . "'");
		}
?>


Merci d'avance pour votre aide !
Configuration: Windows 7
Firefox 3.5.6

8 réponses

  1. le père
     
    Bonjour

    Es-tu sûr d'avoir besoin de faire une mise à jour toutes les heures ?
    Il suffit d'augmenter leur crédit la prochaine fois que tes joueurs se connecteront, en fonction du temps écoulé depuis la dernière mise à jour de leur crédit.
    Et si quelqu'un d'autre qu'eux-mêmes est concerné par l'évolution de leur crédit, toi par exemple, if faut faire aussi cette opération quand c'est toi qui te connectes.
    2
  2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Il faut que ton hébergeur accepte les tâches CRON, ou tu peux créer un système en PHP.
    En gros, tu stockes le timestamp de la dernière mise à jour.
    Dans chaque page, tu inclus (à l'aide de la fonction include) un script qui ressemble à ça :
    <?php
    $lastupdate_timestamp = file_get_contents('lastupdate.txt');
    $current_timestamp = time(); //
    $difference = $current_timestamp - $lastupdate_timestamp;
    
    if($difference >= 3600) {
        // Ton script de mise à jour
       file_put_contents('lastupdate.txt',$current_timestamp());
    }
    ?>
    1
  3. moderno31 Messages postés 900 Statut Membre 92
     
    si tu n'as pas de souci avec la requete, faut planifier une procédure stockée, ou assimilé.
    bon courage
    0
  4. Germain
     
    Ok, sais tu si OVH accepte les tache CRON ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Profil bloqué
     
    Réponse très intéressante Le père aurais tu une méthode pour mettre en place ce que tu dis ?
    0
  7. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    OVH autorise les tâches CRON.

    Pour la solution du père, il suffit d'ajouter un champ "derniere_connexion" à la table des membres, et tu la modifies à chaque fois que le membre se connecte, après avoir mis à jour les crédits.
    Tu peux te basé sur mon code, c'est presque la même chose (il n'y a qu'une ligne à changer).
    0
  8. Profil bloqué
     
    Fatal error: Call to undefined function: file_put_contents() in /homez.131/gangstah/www/includes/haut.inc.php on line 60

    Voila l'erreur qui apparait quand je pose le code dans mon include !
    0