Mise à jour automatique

Fermé
Jojo - 10 déc. 2015 à 10:56
 Jojo - 10 déc. 2015 à 12:50
Bonjour à tous,

J'ai réalisé un petit script en php pour mon site de jeu qui permet d'envoyer automatiquement des gains aux joueurs. Cependant je souhaiterais que cela ce fasse automatiquement, mais impossible de paramétrer correctement cela dans la bdd.

Je souhaiterais donc faire des mises à jours journalières, (script début 00:00:00, script fin 23h59:59, et que ça se mette chaque jour tout seul).

Merci d'avance pour votre aide
A voir également:

1 réponse

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
10 déc. 2015 à 12:45
Salut,
Tu peut toujours faire une tâche cron pour appelé ton script à une heure souhaité, non ?
0
Merci pour ton retour, voici une copie de mon script si jamais tu détecte ce qui ne va pas...

<?php

class scriptCS {
const FREQUENCE_1_JOUR = 1;
const FREQUENCE_1_HEURE = 2;

const ID_RELANCE = 1;
const ID_RECOMPENSES = 2;
const ID_SALAIRE_PROS = 3;
const ID_GESTION_ABONNEMENT = 4;
const ID_CHALLENGE = 5;
const ID_COUPE_DU_MONDE_PHASE = 6;
const ID_COUPE_DU_MONDE = 7;

private $_tabIdScripts = array(self::ID_RELANCE=>self::FREQUENCE_1_JOUR,
self::ID_RECOMPENSES=>self::FREQUENCE_1_JOUR,
self::ID_SALAIRE_PROS=>self::FREQUENCE_1_JOUR,
self::ID_GESTION_ABONNEMENT=>self::FREQUENCE_1_JOUR,
self::ID_CHALLENGE=>self::FREQUENCE_1_JOUR,
self::ID_COUPE_DU_MONDE_PHASE=>self::FREQUENCE_1_JOUR,
self::ID_COUPE_DU_MONDE=>self::FREQUENCE_1_JOUR
);
private $_idScript = 0;
private $_numeroScript = 0;

public function __construct($numero_script) {
if(!array_key_exists($numero_script,$this->_tabIdScripts)) {
throw new Exception('Ce script est inconnu, utilisez les constantes de la classe');
}
$this->_numeroScript = $numero_script;
$this->_frequence = $this->_tabIdScripts[$numero_script];
}

public function demarrer() {
if($this->_frequence == self::FREQUENCE_1_JOUR) {
$query = "SELECT scri_idScript
FROM log_Script
WHERE scri_Numero='".$this->_numeroScript."' AND
scri_Debut>=DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AND
scri_Debut<=DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59')
LIMIT 1;";
} else {
if($this->_frequence == self::FREQUENCE_1_HEURE) {
$query = "SELECT scri_idScript
FROM log_Script
WHERE scri_Numero='".$this->_numeroScript."' AND
scri_Debut>=DATE_FORMAT(NOW(),'%Y-%m-%d %H:00:00') AND
scri_Debut<=DATE_FORMAT(NOW(),'%Y-%m-%d %H:59:59')
LIMIT 1;";
} else {
throw new Exception('La fréquence du script est inconnue');
}
}
$result = db_query_read($query);
if (mysql_num_rows($result) > 0) {
throw new Exception('Le script a déjà été lancé');
} else {
//on crée le démarrage
$result = db_query_write("INSERT INTO log_Script SET scri_Numero='".$this->_numeroScript."',scri_Etat=0,scri_Debut=NOW();");
$this->_idScript = mysql_insert_id();
}
}

public function terminer($output) {
if($this->_idScript > 0) {
db_query_write("UPDATE log_Script SET scri_Output='".mysql_real_escape_string($output)."',scri_Etat=1,scri_Fin=NOW()
WHERE scri_idScript='".$this->_idScript."' LIMIT 1;");
}
}

public function marquerErreur($output) {
if($this->_idScript > 0) {
db_query_write("UPDATE log_Script SET scri_Output='".mysql_real_escape_string($output)."',scri_Etat=2,scri_Fin=NOW();");
}
}

}
?>
0