MySql UPDATE

Germain -  
avion-f16 Messages postés 20368 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 !
A voir également:

8 réponses

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
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
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
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
Germain
 
Ok, sais tu si OVH accepte les tache CRON ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
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
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
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Ton hébergeur n'accepte pas cette fonction, mais elle existe bien :
https://www.php.net/file_put_contents
Tu vas devoir faire autrement :
https://openclassrooms.com/fr/courses
0