Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1821 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°799035
manofjah
Posté le 18-07-2004 à 21:12:40  profilanswer
 

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

mood
Publicité
Posté le 18-07-2004 à 21:12:40  profilanswer
 

n°799039
ze-angel
Angel in sight... Devil inside
Posté le 18-07-2004 à 21:37:13  profilanswer
 

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

n°799041
manofjah
Posté le 18-07-2004 à 21:47:52  profilanswer
 

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
 
 
 

n°799061
ze-angel
Angel in sight... Devil inside
Posté le 18-07-2004 à 22:35:42  profilanswer
 

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...

n°799134
DjMerguez
Posté le 19-07-2004 à 02:00:26  profilanswer
 

Ç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.

n°799136
Mr Mala
Posté le 19-07-2004 à 02:09:15  profilanswer
 

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.

n°808207
manofjah
Posté le 28-07-2004 à 04:19:52  profilanswer
 

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 ...
 
 

n°809077
manofjah
Posté le 28-07-2004 à 20:15:39  profilanswer
 

up !

n°809078
gizmo
Posté le 28-07-2004 à 20:21:07  profilanswer
 

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

n°809079
simogeo
j'ai jamais tué de chats, ...
Posté le 28-07-2004 à 20:22:17  profilanswer
 

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
mood
Publicité
Posté le 28-07-2004 à 20:22:17  profilanswer
 

n°810579
manofjah
Posté le 29-07-2004 à 23:23:43  profilanswer
 

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
 

n°810581
gizmo
Posté le 29-07-2004 à 23:25:04  profilanswer
 

manofjah a écrit :


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


 
Cherche encore...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

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

 

Sujets relatifs
[MySQL] Requète un peu compliqué...application avec plusieurs feuilles
pb apostrophe pour saisie de texte dans bdd mysqlMYSQL - Recherche d'un "SELECT" hasardeux non "équiprobable" !
Pb de requetes php/mysql et classementFaire un dump d'une DB MySQL en UTF-8 Unicode ?
active directory - ldap - php - mysqlSELECT/Mysql : syntaxe avec 1 seule variable sur 2 colones ?
[MySQL] MySQL et EasyPHP[PHP/Mysql] Insérer une image dans une BDD mysql
Plus de sujets relatifs à : transaction en php/mysql : comment gerer 1 trs ds plusieurs scripts ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR