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 :

Generer un Numcarte


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de dyala
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    81
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    Par défaut Generer un Numcarte
    salut le monde

    Je veux generer un numero de carte pout tous mes users de la bibliotheque
    le numcarte est la concatination entre le numuser(auto increment)et la date
    je recupere la valeur de la derniere insertion ($stid) j 'incremente le $stid et je genere mon nummcarte le code marche parfaitement mais lors de la premiere insertion(la valeur de $stid==0) il m 'affiche une notice : "Undefined variable: stid"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $sql2 = "select Num from personnel order by Num desc limit 0, 1" ;
    $resultat3 = mysql_query ($sql2, $db);
     
    while ($tab = mysql_fetch_object($resultat3)) {
     
    $stid=$tab->Num;
     
    echo "<br />";
    }
     
    $code=crypt($stid, 1);
    $code=substr($code, -6);
    $codeSav= crypt($code, 2);
    $codeSav=crypt($code,$select);
     
    $datesystem=date("Y");
    $stid=$stid+1;
     
    $Numcarte=$stid.$select.$datesystem ;


    merci d'avance

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Salut !
    Pour récupérer le dernier AUTO_INCREMENT généré lors de la cnx il faut utiliser mysql_insert_id( )
    Remplace donc les 6 premières lignes de ton script par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $stid = mysql_insert_id( ) ;
    http://fr.php.net/mysql-insert-id

    lors de la premiere insertion(la valeur de $stid==0) il m 'affiche une notice : "Undefined variable: stid"
    Tu exécutes bien ce script juste après le INSERT ?
    De plus $select n'est pas initialisé dans ton script, normal ?

  3. #3
    Membre confirmé Avatar de dyala
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    81
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    Par défaut
    j'excute ce script avant l 'insertion ;;;;je genere mon numcarte apres je l'insere dans ma base.
    pour la fonction $stid = mysql_insert_id( ) ; ne règle pas le probleme lors de la premire insertion lorsque la table est vide la valeur de $stid ==0 c'est sa le probleme il m affiche "Undefined variable: stid"
    !!!

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Comment veux-tu utiliser un ID qui n'existe pas encore ?
    De plus tel que tu le gères cela peut fausser ta base de données en cas d'accès concurrent.

    Ce qu'il faudrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT
    $id = mysql_insert_id( ) // Dernier ID généré par MySQL
    UPDATE sur l'enregistrement $id pour ajouter $numcarte
    Cependant je doute de l'intérêt de stocker $numcarte étant donné que ce n'est pas une valeur atomique et que tu peux l'obtenir à partir d'autres champs.

Discussions similaires

  1. generer un numero auto a chaque insertion
    Par julio84 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/07/2003, 12h22
  2. generer une image bitmap a partir d'une scene OGL
    Par FreshLog dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/07/2003, 11h29
  3. generer xsl depuis xml avec balises inconues ?
    Par cedre dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 24/06/2003, 09h00
  4. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48
  5. [VB.Net] Comment generer une page html dynamiquement ?
    Par Anonymous dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/03/2003, 10h22

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