transaction en php/mysql : comment gerer 1 trs ds plusieurs scripts ?

transaction en php/mysql : comment gerer 1 trs ds plusieurs scripts ? - PHP - Programmation

Marsh Posté le 18-07-2004 à 21:12:40    

salut !
 
 
je cree une transaction sur mysql (INNODB) dans une page avec un begin et, de cette page j'ouvre des popup ds lesquels je fais aussi des mises a jour dans ma base  .
Je voudrais pouvoir rollbaker toutes mes modifs (des deux pages donc)
mais je n'y arrive pas !!!
ds ma popup mysql_pconnect ouvre une nouvelle transaction et donc quand je commit ou rollback ds la page principale cela n'affecte pas les mise a jours de ma popup...
 
merci de votre aide !!!
 
mano

Reply

Marsh Posté le 18-07-2004 à 21:12:40   

Reply

Marsh Posté le 18-07-2004 à 21:37:13    

Hmmm c moi qui suis bête ? Parce que je n'ai rien comprite :/

Reply

Marsh Posté le 18-07-2004 à 21:47:52    

ze-angel a écrit :

Hmmm c moi qui suis bête ? Parce que je n'ai rien comprite :/


 
bin ,
 
je veux pouvoir faire une transaction sur plusieurs scripts php (plusieurs page koi )  
 
sur ma 1ere page j'ai :  
$id=mysql_pconnect ('srv','usr','pwd' ) ;
mysql_query ('begin',$id);
 
ensuite mes requetes de mise a jour ...
 
 
 
apres :
j'ouvre une popup.
et je fais aussi des mise a jour sur ma base
puis quand je reviens dans ma page principale
je veut pouvoir soit faire
mysql_query ('rollback,$id);
ou
mysql_query ('commit',$id);
 
 
voila !
 
le bleme c'est que quand j'ouvre ma popup et que je me connecte a la base je crée une nouvelle connexion et donc cela cree aussi une nvlle transaction...
 
voila voila
 
 
 

Reply

Marsh Posté le 18-07-2004 à 22:35:42    

Hmm je vois si j'ai bien tout compris tu peux avoir besoin d'une connexion persistante a ta base SQL.
 
http://www.lephpfacile.com/faq_php [...] ersistante
 
Par contre faut faire gaffe car la connexion reste ouverte...

Reply

Marsh Posté le 19-07-2004 à 02:00:26    

Ça parait difficile à résoudre... Je ne suis pas sûr que mysql_pconnect permette de rester dans une même transaction sql entre deux requêtes http.
Je vois une solution, ça serait peut être de gérer ton popup en javascript. Les actions dans le popup seraient transmises à la page principale, qui ferait toutes les requêtes. Suivant l'appli, ça peut être chaud, ceci dit.

Reply

Marsh Posté le 19-07-2004 à 02:09:15    

DjMerguez a écrit :

Je ne suis pas sûr que mysql_pconnect permette de rester dans une même transaction sql entre deux requêtes http.


 
Si si ... tu fais juste un pconnect avec même login/pwd dans chaque script PHP et il réutilise  la connexion ouverte précédemment.

Reply

Marsh Posté le 28-07-2004 à 04:19:52    

Mr Mala a écrit :

Si si ... tu fais juste un pconnect avec même login/pwd dans chaque script PHP et il réutilise  la connexion ouverte précédemment.


 
 
retour de vacance....
 
 
bin non  :??:  
 
si tu fais un pconnect dans la fenetre mere et un pconnect ds la popup, cela ouvre une autre connexion
 
pconnect fonctionne bien comme tu dis mais uniquement dans le cas ou les scripts (pages) ne sont pas actifs en meme temps...
 
 
c'est t'y possible de passer en parametre un id de connexion ? j'ai pas reussi ...
 
 

Reply

Marsh Posté le 28-07-2004 à 20:15:39    

up !

Reply

Marsh Posté le 28-07-2004 à 20:21:07    

C'est tout simplement impossible. Le HTTP étant un mode déconnecté, tu perds ta connexion courrante en ouvrant une pop-up.

Reply

Marsh Posté le 28-07-2004 à 20:22:17    

manofjah a écrit :


sur ma 1ere page j'ai :  
$id=mysql_pconnect ('srv','usr','pwd' ) ;
mysql_query ('begin',$id);
 
ensuite mes requetes de mise a jour ...
 
 
 
apres :
j'ouvre une popup.
et je fais aussi des mise a jour sur ma base
puis quand je reviens dans ma page principale
je veut pouvoir soit faire
mysql_query ('rollback,$id);
ou
mysql_query ('commit',$id);


 
pourquoi ouvres tu un pop-up ? affichage seulement non ?
tu fais ton traitement depuis la page maitresse et basta  
 
soit tu fais difficilement la différence entre traitement et présentation, soit y'a un gros pb de conception [:spamafote]  
 


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 28-07-2004 à 20:22:17   

Reply

Marsh Posté le 29-07-2004 à 23:23:43    

simogeo a écrit :

pourquoi ouvres tu un pop-up ? affichage seulement non ?
tu fais ton traitement depuis la page maitresse et basta  
 
soit tu fais difficilement la différence entre traitement et présentation, soit y'a un gros pb de conception [:spamafote]


 
 
je vois pas pourquoi ....
 
 
ma page principale permet de modifier les donnée de ma table principale et les popup les donnees des table de references ...
 
je vois pas ou y'a un bleme de conception...
m'enfin
 

Reply

Marsh Posté le 29-07-2004 à 23:25:04    

manofjah a écrit :


je vois pas ou y'a un bleme de conception...
m'enfin


 
Cherche encore...

Reply

Sujets relatifs:

Leave a Replay

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