Script et bdd
nicoj
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
J'ai récupéré un petit jeu avec un script permettant d'attribuer des récompenses chaque jour aux différents gagnant, cependant celui ci ne fonctionne pas. Dans la bdd, impossible de trouver comment faire pour que le classement se regénère tous les jours, débutant à minuit pour finir à 23h59.
Je vous copie ci-dessous le script, si jamais y'a une erreur dedans...
Merci d'avance pour votre aide
EDIT : Ajout des balises de code.
J'ai récupéré un petit jeu avec un script permettant d'attribuer des récompenses chaque jour aux différents gagnant, cependant celui ci ne fonctionne pas. Dans la bdd, impossible de trouver comment faire pour que le classement se regénère tous les jours, débutant à minuit pour finir à 23h59.
Je vous copie ci-dessous le script, si jamais y'a une erreur dedans...
Merci d'avance pour votre aide
<?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();"); } } } ?>
EDIT : Ajout des balises de code.
A voir également:
- Script et bdd
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
2 réponses
Bonjour,
De ce que j'ai pu comprendre, il s'agit d'une classe qui doit être appelée ailleurs par une de ses fonctions par
De ce que j'ai pu comprendre, il s'agit d'une classe qui doit être appelée ailleurs par une de ses fonctions par
scriptCS::demarrer()par exemple, donc il faut appeler cette fonction à un certain moment et appeler la fonction
scriptCS::terminer()quand le classement doit être calculé avant le jour suivant.
Bonjour,
Dans la BDD ???? Oo .....
Ce genre de chose doit certainement être fait via un planificateur de tâches ... (ou un CRON sous Linux)
Comme le dit sipherion ... le script que tu nous montres doit être utilisé ..... depuis un autre script.....
Dans la bdd, impossible de trouver comment faire pour que le classement se regénère tous les jours, débutant à minuit pour finir à 23h59.
Dans la BDD ???? Oo .....
Ce genre de chose doit certainement être fait via un planificateur de tâches ... (ou un CRON sous Linux)
Comme le dit sipherion ... le script que tu nous montres doit être utilisé ..... depuis un autre script.....