lancer requete maxi 1 fois par heure

Eléphanteau du PHP | 45 Messages

20 déc. 2006, 19:00

Nouveau petit problème en rapport avec le précedent: http://www.phpfrance.com/forums/voir_re ... php#167217

J'ai ceci une page qui dit:
if(champ>6){
(1)
else{
(2)
}
le (1) consiste a dire, modifier la valeur du champs trouvez précedement (vous vous souvenez la collone en fonction du jour) en lui ajoutant +1.

Le truc c'est que je veux que quand on arrive sur cette page, sa ne rajoute pas 1 a chaque fois, mais une seul fois par heure..

comment définir cela ?

En gros faire q'une requete puisse être lancer maximum 1 fois par heure

merci
Modifié en dernier par dr.smoogy le 20 déc. 2006, 22:09, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

20 déc. 2006, 19:08

Tu mets un drapeau qqpart :

si drapeau dit "pas fait", alors tu fais
si drapeau dit "déjà fait, alors tu fais pas

Tu peux en stocker 1 par heure, ce qui va faire beaucoup de drapeaux dans 10 ans.

Ou alors tu peux limiter l'accès à ce script et le lancer automatiquement : http://www.phpfrance.com/forums/voir_sujet-18338.php

ViPHP
ViPHP | 1961 Messages

20 déc. 2006, 19:21

Une autre solution (dans l'esprit de ce que tu as)
Ajuter une colonne par jour qui contient l'heure du dernier accès.
Et d'ajouter une condition dans ta requête.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

20 déc. 2006, 19:50

Ajuter une colonne par jour qui contient l'heure du dernier accès.
Et d'ajouter une condition dans ta requête.
Ajouter une colonne ? un ALTER TABLE à chaque fois ? :shock:

ViPHP
ViPHP | 1961 Messages

20 déc. 2006, 19:57

Re,

Non,

Si j'ai bien compris la structure de sa table.
elle econtient sept colonnes, une pour chaque jour de la semaine.
En fonction du jour de la semaine il affiche le contenu de la colonne correspondante.
Seulement maintenant il veux limiter cet affichage à une fois par heure.

Ce que je propose c'est d'ajouter une nouvelle colonne pour chaque jour (donc 7) et chacune contient la date et heure du dernier affichage en fonction du jour.

Et il y a juste à ajouter dans le WHERE dun DIFFTIME ou TIMEDIFF(à vérifier)

EDIT :
Souviens-toi de nôtre plantage on avait confondu le nom de la table avec le nom de la colonne.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 45 Messages

20 déc. 2006, 20:16

et je peux faire une table qui contient une collone de valeur decimal avec soit 1 soit 0.

si le champ = 0 alors on fait sinon on fait pas

ViPHP
ViPHP | 1961 Messages

20 déc. 2006, 20:18

et je peux faire une table qui contient une collone de valeur decimal avec soit 1 soit 0.

si le champ = 0 alors on fait sinon on fait pas
Et comment tu vas faire pour modifier cette valeur ?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 45 Messages

20 déc. 2006, 20:22

Ajocola, je comprend pas trop ton idée...Comment dire par requete faire une seul fois par heure :/

ViPHP
ViPHP | 1961 Messages

20 déc. 2006, 20:28

Si tu conserves la date et l'heure (la date pour gèrer entre 23:xx et 00:xx - en d'autres termes - le chagement de jour)
avant d'afficher ton message tu vérifies la difference entre la date-heure en cours (date système) et celle que tu as enregistée est usupérieure ou égale au temps que tu as déterminé (exp: 1 heure)
Si c'est le cas tu affiches sion tu fait le traitement que tu veux.

Ce résultat tu peux l'obtenir directement de MySQL en ajoutant dans ta clause where ta condition.

Si la requête te rends QQ chose tu l'affiches sinon c'est que l'interval de temps n'est pas encore écoulé.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 45 Messages

20 déc. 2006, 20:48

Ok, bon jvais voir ca et je vous dis si sa marche, sinon c'est normal que Webcron ne marche pas si on appel des scripts qui agissent sur le local ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 déc. 2006, 21:52

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP", "Aidez-moi !" n'apportent rien à la compréhension de ton problème.
Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.


Ben quoi personne n'a pensé à le modérer... j'ai pas suivi "l'autre problème" moi comme toute autre personne qui tomberait la dessus :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute