Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-05-2010 22:14:26

missdior04
Membre
Date d'inscription: 17-05-2010
Messages: 14

mise à jour d'un champs mysql à un moment x

Bonsoir,

Nouvelle sur  php5 , j'utilise zend framework , je fais l'upload des fichiers dans ma base de donnée mysql , dans la table "document" j'ai les champs 'datedesaisie ' et 'datediffusion' et un champ status ; ce que je souhaite c'est changer le status du document  automatiquement :

si (la datediffusion >=datesaisie) status =1
si ((la datediffusion >=datesaisie) status =0

cela automatiquement une fois la date de diffusion arrivée le document change de status

besoin de votre aide . merci

Hors ligne

 

#2 17-05-2010 23:25:12

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: mise à jour d'un champs mysql à un moment x

ben si tu as un simple hébergement mutualisé tu changes cela quand un utilisateur affiche la liste de tes fichiers.

Sinon si tu as un serveur tu peux faire plus des choses mais bon je peux pas t'aider

Hors ligne

 

#3 18-05-2010 00:25:55

missdior04
Membre
Date d'inscription: 17-05-2010
Messages: 14

Re: mise à jour d'un champs mysql à un moment x

MERCI pour votre réponse , effectivement j'ai pensé à faire une requête de mise à jour de status dans la vue qui affiche la liste des fichiers qui va être exécutée chaque fois les fichiers consultés mais bn je cherche une autre solution si c possible , genre faire une mise à jour temps réel .

Hors ligne

 

#4 18-05-2010 00:59:43

lassoya
Membre
Date d'inscription: 26-12-2009
Messages: 87

Re: mise à jour d'un champs mysql à un moment x

ben si tu as un serveur c'est possible , mais si c'est un hébergement comme je te l'ai dit en haut c'est mort (je pense)


si ça peut t'aider :

http://matthieu.developpez.com/execution_periodique/

Hors ligne

 

#5 18-05-2010 16:49:11

missdior04
Membre
Date d'inscription: 17-05-2010
Messages: 14

Re: mise à jour d'un champs mysql à un moment x

pour le moment je travaille en local , j'ai visité le lien svp expliquez moi juste un peu plus :

1) script php : si (datediffusion>=sysdate) changer le statut dans la table document (0->1)

cela parait très simple , ou est ce que je dois mettre mon script ( rappel j'utilise zend server ) avec l'architecture MVC

SVP besoin de votre aide

Hors ligne

 

#6 19-05-2010 08:15:50

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: mise à jour d'un champs mysql à un moment x

Tu n'as pas d'emplacement. Moi, je te conseille de faire un répertoire script à la racine de ton projet

Code:

/application
/library
/scripts     <--- ici

----
Gruiiik !

Hors ligne

 

#7 19-05-2010 17:10:39

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: mise à jour d'un champs mysql à un moment x

si tu as un serveur tu peux le faire via une tache "cron".

Hors ligne

 

#8 20-05-2010 12:44:15

missdior04
Membre
Date d'inscription: 17-05-2010
Messages: 14

Re: mise à jour d'un champs mysql à un moment x

je cherche toujours comment est ce que je peux faire cette tache  que j'ai envie d'exécuter toute les heures ,

j'utilise zend server le script de la tache est (la condition if + modification d'un champ dans la table ) ou est ce que je dois mettre ce script , dans un controller ou quoi ??

et puis pour  programmer la tache quelle méthode utiliser  " cron c'est pour unix" mois je suis sur xp

Hors ligne

 

#9 25-05-2010 09:40:53

keilnoth
Membre
Date d'inscription: 30-08-2008
Messages: 128
Site web

Re: mise à jour d'un champs mysql à un moment x

Si tu travailles avec ta base de données, à un moment donné, tu vas faire un UPDATE pour mettre à jour la date de diffusion. A ce moment là, tu peux soit également mettre à jour correctement ton status, soit créer ce qu'on appel un "trigger" (déclencheur) sur ton MySQL :

http://dev.mysql.com/doc/refman/5.0/en/triggers.html

Ceci permet de réaliser des actions lorsqu'un UPDATE ou un INSERT ou autre sont exécutés.

Egalement, tu peux faire un trigger applicatif si tu utilises un modèle objet pour ta table (Zend_Db_Table par exemple) et surcharger les méthodes update() ou insert() en ajoutant ton code.


Vu que tu es sur Windows XP, tu peux créer une tâche périodique :
Programmes > Accessoires > Systèmes > Tâches planifiées et lancer une commande DOS qui en gros va faire "php updateStatus.php".

Il faut alors que tu fasses un script PHP (updateStatus.php) qui va contrôler tes dates et mettre à jour les status de ta table.

Je te conseille fortement ce tuto en anglais, sur lequel tu peux t'inspirer :
http://webfractor.wordpress.com/2008/08 … mand-line/

Enfin, pour résumer, j'utiliserais autant que possible les TRIGGER avant de te lancer dans des tâches planifiées. Surtout si tes status sont mis à jour suite à une action sur ton application.


Quelques tutoriaux Zend Framework !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages