IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Recevoir un ID temporaire?


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Recevoir un ID temporaire?
    Bonjour,

    Je fais un formulaire de devis qui stocke les informations sur une base de données.

    Pour ce faire, j'ai 2 tables principales.
    1) la table "offre" qui enregistre la date de création de l'offre, et quelques champs d'entête.

    2) La table "entrees" qui enregistre chaque ligne de l'offre avec un numéro de ligne et l'ID de l'offre + les différents champs remplis.

    Mon problème est le suivant.

    Lorsque l'on ouvre la page offre contenant les formulaires, je demande à mysql de créer une nouvelle entrée avec la date, l' ID artisans etc et surtout de me donner le nouvel ID ainsi créé.

    Quand tout va bien, tout va bien...

    Mais si l'utilisateur décide de ne pas terminer son offre ou reviens en arrière ou fait n'importe quelle bêtise d'utilisateur sans enregistrer son document... J'ai une offre fantôme qui est crée sans avoir d'entrée autre enregistrée...

    Je cherche donc une solution pour que ma table offre me donne une ID temporaire qui pourra être confirmée si l'utilisateur termine son devis et l'enregistre normalement.
    Si cette opération n'est pas confirmée, l'ID et les quelques données stockées temporairement peuvent disparaître.

    PS: plusieurs utilisateurs peuvent faire des devis en même temps donc aussi temporaires soit-elle, l'ID doit être bloquée pour que, si pendant la rédaction du document, d'autres utilisateurs reçoivent des ID temporaires différentes.

    Je ne vois pas du tout comment procéder... Pouvez-vous guider mes recherches??

  2. #2
    Invité
    Invité(e)
    Par défaut
    Inutil de créer un data vide au cas ou !!
    ne fait tes INSERT que lorsque tu aura tout,
    en attendant pendant qu'il se balades sans finaliser gardes tout ce qu'il a déjas rempli dans des valeurs de sa session !
    A++
    Christele

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Hello,
    Merci pour ta réponse.
    J'ai besoin de connaître l'ID de la "future" offre car elle vient en complément d'info de chaque entrées.

    Donc au moment où l'utilisateur commence à remplir son formulaire, je dois connaître l'ID de la future offre qu'il confirmera en cliquant sur Submit. Je ferai à ce moment là les Insert dans la table "entrees"

    Pour pouvoir mettre les données, comme tu le suggères, dans une variable de session, il faut aussi qu'il aie validé ses entrées en soumettant le formulaire.
    Mais dans ce cas, si il soumet, j'ai bien une offre complète donc pas de soucis elle peut être enregistrée définitivement.

    Mon soucis est que j'ai constaté que certains ouvrent le formulaire d'offre, dans l'entête vient s'indiquer le n°ID Offre, et puis, pour je ne sais quelle obscure raison, ils quittent la page, reviennent quelques secondes plus tard et reçoivent à ce moment là un nouveau numéro d'offre.

    Le premier numéro qui avait été attribué est donc vide et m'a bouffé une ligne vide avec un ID dans ma table offre... Et dans 10 ans c'est le bouzouf.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai besoin de connaître l'ID de la "future" offre car elle vient en complément d'info de chaque entrées.
    tu pourrais clarifier ce point ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Tu dis:

    Mon souci est que j'ai constaté que certains ouvrent le formulaire d'offre, dans l'entête vient s'indiquer le n°ID Offre, et puis, pour je ne sais quelle obscure raison, ils quittent la page, reviennent quelques secondes plus tard et reçoivent à ce moment-là un nouveau numéro d'offre

    Mais non pas avec des sessions !! ça sert entre autres a cela !!!
    Tu peux faire tout le site et revenir, les valeurs sont toujours là

    A++
    Christele

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Oui je vois pas en quoi la proposition de christele_r ne pourrait pas convenir...

Discussions similaires

  1. Comment recevoir rapidement une réponse à votre question ?
    Par Community Management dans le forum Windows
    Réponses: 3
    Dernier message: 17/08/2014, 02h28
  2. Desactiver temporairement les contraintes
    Par maitrebn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/10/2006, 17h58
  3. Nettoyage de table temporaire
    Par Alain Dionne dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/02/2004, 20h44
  4. Ensemble de données temporaires
    Par pascalT dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/03/2003, 07h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo