Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/07/2011, 17h53   #1
Membre à l'essai
 
Inscription : mai 2008
Messages : 213
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2008
Messages : 213
Points : 24
Points : 24
Envoyer un message via ICQ à bender86
Par défaut bloque un id

bonjour,

J'ai besoin de lumières pour un petit problème.
1) j'ai une table x avec un id auto incrémenter
2) J'ai un écran d'encodage de données et quand l'utilisateur clique ajouter, via xajax j'affiche le dernier numéro auto incrément + 1.
3) Avant l'insert je récupère une dernière fois le dernier numéro pour être sûr que personne n'a ajouté entre temps.

Le problème en fait est que si 2 utilisateurs clique ajouter en même temps ou tant que l'autre n'a pas encore sauvé, ils voient tous les 2 le même numéro.
J'aimerai en fait que quand l'utilisateur a cliqué sur ajouter, le numéro soit bloqué et si quelqu'un clique à son tour il verra le numéro suivant.

Si quelqu'un a une solution autre que au moment où il clique ajouter, déjà faire l'insert et alors quand il clique sur sauvegarder faire un update


Merci de vos réponse
bender86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 17h57   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
pour faire manuellement incrémentation alors qu'elle est automatique ? ça n'as pas de sens.
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 18h21   #3
Membre à l'essai
 
Inscription : mai 2008
Messages : 213
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2008
Messages : 213
Points : 24
Points : 24
Envoyer un message via ICQ à bender86
Non l insert se fait en auto mais le client a besoin de savoir le numero que son enregistrement aura apres la sauvegarde. C est pour ca que j ai besoin de bloquer le numero pcq si 2 personnes font l ajout en meme temps. C est le premier qui sauve que son enregistrement aura vraiment le numero afficher tandis que l autre aura le numero affiche + 1.

J espere avoir ete plus clair
bender86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 18h34   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par bender86 Voir le message
Non l insert se fait en auto mais le client a besoin de savoir le numero que son enregistrement aura apres la sauvegarde. C est pour ca que j ai besoin de bloquer le numero pcq si 2 personnes font l ajout en meme temps. C est le premier qui sauve que son enregistrement aura vraiment le numero afficher tandis que l autre aura le numero affiche + 1.

J espere avoir ete plus clair
tu lui envoie le numéro après avoir fait la sauvegarde
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 18h36   #5
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 016
Points : 5 016
Je ne comprends pas. Lors des inserts, tu ne réccupère pas le dernier id inséré avec mysql_insert_id ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 18h40   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par Benjamin Delespierre Voir le message
Je ne comprends pas. Lors des inserts, tu ne réccupère pas le dernier id inséré avec mysql_insert_id ?
ça ne changera pas le problème.
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 19h35   #7
Membre à l'essai
 
Inscription : mai 2008
Messages : 213
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2008
Messages : 213
Points : 24
Points : 24
Envoyer un message via ICQ à bender86
J affiche deja le numero avant l insert. L insert se fait qd l utilisateur a rempli tous ses champs et clique sauvegarde.
Je voudrais donc bloque le numero que recoit le premier utilisateur a recu apres avoir clique sur suivant et si un autre utilisateur clique ajouter et que le premier n a pas encore sauve. Il recoive qd meme le numero suivant que le premier utilisateur aurait "reserve"

Merci
bender86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 19h43   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
tu fais un insère vide ensuite tu feras un update avec l'id, mais c'est tordu, je te conseil plutôt de donnée l'id après
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 19h55   #9
Membre éclairé
 
Inscription : juin 2007
Messages : 335
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 335
Points : 391
Points : 391
exemple :
une personne veux envoyer un message , et toi compter le nombre de message posté.

en fait, tu peu mettre une colonne dans la bdd avec les états de transaction : bddmessage ( id , idClient, text , etatMessage );

1)
tu peu remplir une nouvelle ligne à l'affichage de la page
INSERT ( 'idAUTO' ,'client200' , '' , 'start' )
mais c pas obligtoire, c juste pour montrer qu'une ligne peu avoir plusieurs état

2)
puis une fois le texte envoyé, tu change l'état de la ligne en 'end'

3)
le id sera toujours auto incrémenté et tu peu compter le nombre de ligne ou etat = end .


voilou
__________________
Conception / Dev
ascito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 19h58   #10
Membre à l'essai
 
Inscription : mai 2008
Messages : 213
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2008
Messages : 213
Points : 24
Points : 24
Envoyer un message via ICQ à bender86
Oui j esperais qu il y aie une autre solution qu un insert vide
Je vais surement donner l id a la fin alors.

Merci et si jamais il existe une autre solution. Je suis a l ecoute
bender86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h21.


 
 
 
 
Partenaires

Hébergement Web