Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/12/2012, 09h01   #1
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Par défaut Effectuer une requête après x jours.

Salut !
Pour le système de bannissements, je voudrais effectuer une requête (update) après un certain nombre de jours.
J'explique : le modérateur entre par exemple "5" dans le champ de texte, et 5 jours après l'appui sur le bouton d'envoi, une requête update s'execute automatiquement. Comment faire ? Merci.
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 09h32   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 847
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 847
Points : 21 896
Points : 21 896
Plus simplement, calcule (aujourd'hui + x jours) et enregistre la date de fin de bannissement.
Si la date de fin de bannissement < aujourd'hui, l'utilisateur n'est plus banni.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 09h38   #3
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Ça collera pas.

Voici la partie dans "traitement_connexion.php" qui vérifie si le membre est ban :
Code :
1
2
3
4
5
6
7
8
9
$req6 = $pdo->prepare("SELECT * FROM bannissements WHERE id_du_membre = :identifiant_ban AND statut = :statut");
	$req6->execute(array("identifiant_ban" => $_SESSION["id"], "statut" => "en_cours"));
	$resultat_ban = $req6->fetch();
		if(!$resultat_ban) {
			header("Location: index.php");
		}
		else {
			header("Location: ban.php");
		}
Et dans "ban.php" il y a (à la fin) un « session_destroy(); ».
Je veux donc qu'après x jours, un update modifie le champ "statut" pour lui donner comme valeur "fini".
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 09h54   #4
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 847
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 847
Points : 21 896
Points : 21 896
Comme tu as pu le remarquer, ta methode te mène dans une impasse.
C'est pour ça que je t'en propose une autre.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 09h57   #5
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Donc si le champ qui dit si le membre est banni ou non se trouve dans ma table "membres", le motif & les autres infos je les mets où ?
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h00   #6
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 547
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 18 547
Points : 66 425
Points : 66 425
La méthode proposée par sabotage est de loin meilleure que la tienne.
Ensuite, rien ne t'empêche d'avoir dans ta table "membres" un champ booléen "banni" et une table "ban" indiquant pour chaque membre banni les infos relatives au bannissement.
Avec l'id du membre, tu peux facilement faire le lien entre les deux tables...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h00   #7
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 847
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 847
Points : 21 896
Points : 21 896
Tu peux garder ta table bannissement.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h04   #8
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Je vais essayer, mais par contre, je sais pas du tout comment executer mon update automatiquement après x jours (pour modifier le champ). Une idée ?
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h21   #9
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 847
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 847
Points : 21 896
Points : 21 896
Tu n'as pas compris le principe : il n'y a rien a mettre à jour au bout de x jours.
Le statut de bannissement est déduis de la date de fin de bannissement.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h23   #10
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Je ne comprends toujours pas.
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h37   #11
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 847
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 847
Points : 21 896
Points : 21 896
Si ma date de fin de bannissement est au 1er janvier 2013, au 29 décembre 2012, je suis banni ; au 6 janvier 2013, je ne suis pas banni.
Il n'y a rien a mettre à jour.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h49   #12
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Je vois. Et comment je peux faire pour ma question sur le formulaire ? Le fait de rentrer le nombre de jours du ban.
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h54   #13
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 847
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 847
Points : 21 896
Points : 21 896
Je suppose que par "automatiquement" tu veux dire sans rafraichissement de la page, il faut donc utiliser Ajax.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 10h56   #14
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Non à la base je voulais savoir comment executer une requête automatiquement après un laps de temps en jours.
Par exemple si je rentre "5" dans mon formulaire, la requête doit s'executer 5 jours plus tard automatiquement.
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 11h18   #15
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 847
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 847
Points : 21 896
Points : 21 896
http://atranchant.developpez.com/mysql/evenement/
http://matthieu.developpez.com/execution_periodique/
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2012, 11h19   #16
xRayane
Candidat au titre de Membre du Club
 
Inscription : décembre 2012
Messages : 60
Détails du profil
Informations forums :
Inscription : décembre 2012
Messages : 60
Points : 12
Points : 12
Merci.
xRayane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h01.


 
 
 
 
Partenaires

Hébergement Web