lancer un programme php en cas d'updates de MySql [resolu] [php/mysql] - PHP - Programmation
Marsh Posté le 17-10-2009 à 19:04:46
Je pige pas trop, tu voudrais que ça déclenche quoi comme genre de programme
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?
Parce-que si c'est php...quel est le problème?
Quoi qu'il arrive tu ne peux pas exécuter du php via un trigger, non.
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
Marsh Posté le 18-10-2009 à 17:50:26
ReplyMarsh 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...
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 ...
Marsh Posté le 19-10-2009 à 07:27:12
Blackdalhia a écrit : j'ai du mal a capter ca ... |
Je pense qu'on parle pas du même client, là - dans mon message le client c'était le navigateur.
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.
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 ?
Marsh Posté le 19-10-2009 à 08:51:17
Blackdalhia a écrit : |
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...
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 ...
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
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 édité par Blackdalhia le 22-10-2009 à 08:21:35