[php/mysql] lancer un programme php en cas d'updates de MySql [resolu]

lancer un programme php en cas d'updates de MySql [resolu] [php/mysql] - PHP - Programmation

Marsh Posté le 17-10-2009 à 15:56:20    

Hello !
 
je cree un site de vente en ligne basé sur PHP/Mysql et OpenLaszlo.
 
J'aimerais que lorsqu'une commande est créée par un client dans la base MySQL cela declenche un programme PHP (qui va reactualiser le dataset OpenLaszlo du Serveur ) : comment est ce possible ?
 
j'ai vu qu'il y avait une fonction TRIGGER dans MySQL, mais cela ne declenche que des actions SQL, cela ne lance pas des applications dans un autres language tels que php ....
 
une idée ?

Message cité 1 fois
Message édité par Blackdalhia le 22-10-2009 à 08:21:35
Reply

Marsh Posté le 17-10-2009 à 15:56:20   

Reply

Marsh Posté le 17-10-2009 à 19:04:46    

Je pige pas trop, tu voudrais que ça déclenche quoi comme genre de programme  :??:

Reply

Marsh Posté le 17-10-2009 à 23:57:43    

Blackdalhia a écrit :

Hello !

 

je cree un site de vente en ligne basé sur PHP/Mysql et OpenLaszlo.

 

J'aimerais que lorsqu'une commande est créée par un client dans la base MySQL cela declenche un programme PHP (qui va reactualiser le dataset OpenLaszlo du Serveur ) : comment est ce possible ?

 

j'ai vu qu'il y avait une fonction TRIGGER dans MySQL, mais cela ne declenche que des actions SQL, cela ne lance pas des applications dans un autres language tels que php ....

 

une idée ?

 

euh, le client il rentre directement sa commande à la main en sql ou c'est php qui le fait? :D
Parce-que si c'est php...quel est le problème? [:autobot]

 

Quoi qu'il arrive tu ne peux pas exécuter du php via un trigger, non.


Message édité par skeye le 17-10-2009 à 23:57:56

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 18-10-2009 à 17:28:49    

je m'explique un peu plus :)
- le client est en OpenLaslzo : la commande est transférée en declenchant un programme php qui insere les lignes de commande dans la base MySql.
- sur le serveur j'affiche les commandes en cours : c'est aussi du Openlazlso, j'ai un dataset avec les commandes en cours. Il faut donc que je reactualise le dataset avec les commandes nouvellement insérées dans Mysql pour que le type qui gere les commande puisse les voir ... et je ne sais pas comment faire cette partie

Reply

Marsh Posté le 18-10-2009 à 17:50:26    

je pense que je m'y prends pas comme il faut, je dois me compliquer la vie :-(

Reply

Marsh Posté le 18-10-2009 à 17:58:52    

Blackdalhia a écrit :

je pense que je m'y prends pas comme il faut, je dois me compliquer la vie :-(


Je pense que tu te compliques la vie, oui.
Il y a bien un moment où ton gestionnaire de commandes va retourner chercher les infos dans la base de données, non? Je ne connais pas openlaszlo, mais quoi qu'il arrive il faut un aller/retour entre le client et le serveur pour ça, et pour du web c'est toujours à l'initiative du client...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 18-10-2009 à 23:00:31    

j'ai du mal a capter ca ...  
tout ce que je fais pour l'instant c'est que le client transmet la commande au format XML (POST), qui est recupérée par un php qui parse le fichier XML et actualise ma base MySQL ...

Message cité 1 fois
Message édité par Blackdalhia le 18-10-2009 à 23:01:15
Reply

Marsh Posté le 19-10-2009 à 07:27:12    

Blackdalhia a écrit :

j'ai du mal a capter ca ...  
tout ce que je fais pour l'instant c'est que le client transmet la commande au format XML (POST), qui est recupérée par un php qui parse le fichier XML et actualise ma base MySQL ...


Je pense qu'on parle pas du même client, là - dans mon message le client c'était le navigateur.:D
En regardant vite fait openlaszlo, si j'ai bien compris c'est juste un intermédiaire qui te génère soit du flash soit du javascript.
Une fois qu'une commande a été ajoutée dans ta base de données, il faut que le flash ou javascript coté "administration des commandes" aille redemander la liste des dernières commandes au serveur pour qu'il se passe quelque chose.
Il n'y a à ma connaissance aucun moyen de faire en sorte que le serveur qui héberge le php prévienne lui-même ton appli flash/jscript qu'il y a du nouveau.
Je vois deux options : soit l'administrateur veut un état à l'instant T, et c'est lui qui demande volontairement un rafraichissement via un click sur un bouton ou quelque chose du genre; soit il faut que ça se rafraichisse tout seul, et dans ce cas c'est à ton appli d'aller vérifier régulièrement (tous les X secondes/minutes tu interroges le serveur) s'il y a du neuf sans intervention de l'utilisateur.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-10-2009 à 08:44:16    

ok, je comprends maintenant la confusion :)
 
sur les deux options, seule la deuxieme est acceptable dans mon cas.
 
mais j'en voyais une troisieme : quand le client (i.e. le type qui passe la commande :0) ) envoie la commande, ca lance un php qui se trouve sur le serveur, n'y a t il pas moyen de rafraichir l'appli flash ?

Reply

Marsh Posté le 19-10-2009 à 08:51:17    

Blackdalhia a écrit :


mais j'en voyais une troisieme : quand le client (i.e. le type qui passe la commande :0) ) envoie la commande, ca lance un php qui se trouve sur le serveur, n'y a t il pas moyen de rafraichir l'appli flash ?


non.
Il n'y a pas de connexion permanente entre le serveur et ton appli flash, ton appli php n'a aucun moyen de savoir s'il y a quelqu'un à prévenir...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-10-2009 à 08:51:17   

Reply

Marsh Posté le 19-10-2009 à 15:33:23    

mmmm, ok ... en tout cas merci pour tes reponses rapide !!!
 
je vais voir du coté OpenLaszlo ce qui me permettrait de regarder toutes les minutes si une commande est arrivée ...

Reply

Marsh Posté le 22-10-2009 à 08:21:04    

au cas ou qqu'un cherche une solution, j'ai trouvé mon bonheur ici :
http://forum.openlaszlo.org/showth [...] +doRequest

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed