MySql UPDATE
Germain
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
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 !
Merci d'avance pour votre aide !
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
-
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. -
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()); } ?> -
si tu n'as pas de souci avec la requete, faut planifier une procédure stockée, ou assimilé.
bon courage -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Réponse très intéressante Le père aurais tu une méthode pour mettre en place ce que tu dis ?
-
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). -
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 ! -
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