|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Bonjour tout le monde !
Voilà j'aimerais supprimer une donnée automatiquement et à intervalles réguliers. Concrètement, je souhaiterais que toutes les semaines, une donnée soit automatiquement remise à zéro. Ainsi j'ai le code suivant : Code :
Code :
PS : affich comptabilise le nombre d'affichage |
||||
|
|
00
|
|
|
#2 |
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Un compte à rebours serait-il approprié ? Lors de l'expiration (disons au bout d'une semaine par exemple) celui-ci revient à sa valeur initiale et re - décompte ? nan ?
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
Il te faut utiliser une tâche planifiée (aka cron) qui te permet sur le serveur sur lequel tu héberges tes données de déclencher un script selon un intervalle de temps que tu peux définir.
Renseigne toi auprès de ton hébergeur pour voir si ce service est disponible. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() |
Sinon tu as la méthode bourrin qui consiste à placer ce script dans une page comme ton index. A chaque fois que l'index est ouvert tu compares la date du jouer avec la derniere date a laquelle tu as fait la suppréssion. C'est moins propre mais peut être OK si tu n'as que celà à faire (vu que ton script est pas trop gros c'est pas bien grave).
|
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
C'est la seule possibilité que j'ai
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
|
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() |
ou la j'avais pas bien lu ton code. Deja tu peux pas faire un delete sur un champ de ta base de données. Tu peux soit delete une ligne de ta base de données (avec tous ses attributs, id affic etc...) ou alors mettre à jour le champ affic. (update affic='' where id=XXX).
C'est c'est pour la concéption de ta base. Bon si j'ai bien compris tu veux réninitialiser le nombre d'affichages à 0 à un moment donné. Dans ce cas, tu rajouter dans ta table un champ date_mise_a_jour de type DATE. Ensuite tu crées un script dans un fichier a part. Code :
ce fichier va remettre à 0 tous les jours le compteur. |
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Merci Raideman
Un petit truc : comment je fais pour remettre à 0 tous les 7 jours par exemple ? ou faire un intervalle supérieur à 1 jour ? tu vois ? |
|
|
00
|
|
|
#9 | |
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Citation:
Si j'ai bien compris, si ce champs(date_mise_a_jour) est inférieur à la date ($date_jour), mon champ affich est remis à 0. Vous voyez ?
|
|
|
|
00
|
|
|
#10 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2006 Messages : 28 ![]() |
D'apres que j'ai compris , lors de l'insertion dans ta db tu fais un mktime() et tu rajoute l'equivalent de 7 jour dans date_mise_a_jour et une fois que date_mise_a_jour est egal au timestamp ou superieur tu supprime
|
|
|
00
|
|
|
#11 | ||||||
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Concernant le mktime() j'ai pas tout saisi
Code :
Maintenant, comment je l'insère dans ma base (date_mise_a_jour) et à partir de quelle page ? En effet, si ce code est en index, l'insertion dans ma base sera toujours décalé d'un jour par jour et mon compteur jamais remis à 0 ? Ainsi en reprenant le code de Raideman comment puis-je intégrer $date_mise_a_jour Code :
Code :
Merci d'avance |
||||||
|
|
00
|
|
|
#12 | ||
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Pour reprendre tout ce post à l'endroit, je prends quelques minutes pour résumer :
Voilà; je propose à mes internautes un lien qu'ils peuvent insèrer dans leur page. Ce lien redirige vers ma page index.php et comptabilise pour eux un hit à chaque visite. Voici mon code : Code :
Les posts précédents me permettent de cerner un peu mieux le problème mais j'ai du mal à concevoir l'insertion d'une date + 7 pour la comparer à la date actuelle. Si date + 7 < date actuelle == remise à 0 Merki tt le monde ! |
||
|
|
00
|
|
|
#13 |
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
Si tu ne veux pas t'ennuyer avec ton hébergeur, tu peux utiliser ce genre de service :
http://crontab.fr/login.php On doit en trouver d'autres sur le net, mais je n'ai plus les adresses. Concrètement, tu donnes l'URL de la page que tu veux exécuter périodiquement et ça la lance. Tu n'as plus qu'à mettre ton script dans cette page et donner l'URL de cettedite page. |
|
|
00
|
|
|
#14 | ||||
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Merci Bisûnûrs !
Concernant le script, j'utilise quoi pour remettre le compteur de chaque membre à 0 ? en gras ci-dessous : Code :
Code :
|
||||
|
|
00
|
|
|
#15 | ||
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
Ben par exemple tu fais une page toto.php que tu mets sur ton serveur.
Le cron appellera donc cette page. (Quand on te demande l'URL du script à exécuter ça sera donc : http://www.monsite.com/toto.php) Et cette page n'aura juste ça : Code php :
|
||
|
|
00
|
|
|
#16 |
![]() ![]() Josselin Développeur Web Inscription : janvier 2004 Messages : 9 050 ![]() |
http://www.webcron.org/
http://cron.hiwit.org/ Peut-être un peu plus évolué que le lien précédent niveau ergonomie. Après, je te laisse chercher. ^^ |
|
|
00
|
|
|
#17 |
|
Membre expérimenté
![]() Inscription : décembre 2005 Messages : 742 ![]() |
je confirme ce que bisûnûrs à dit ; je rajoute même que WebCron est bien sympatique !!
Il t'envoit même un mail en cas de problème lors de l'exécution de ton script. |
|
|
00
|
|
|
#18 |
|
Nouveau Membre du Club
![]() Inscription : août 2006 Messages : 217 ![]() |
Bonjour tout le monde !
Désolé pour le retard ! La méthode de bisûnurs est tout indiquée et fonctionne parfaitement. Je passe par WebCron que je conseille d'ailleur Merci de tous vos posts et @bientôt++ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com