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 :

valeur id ne changeant pas avec un auto incrément [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Points : 86
    Points
    86
    Par défaut valeur id ne changeant pas avec un auto incrément
    Bonjour j'ai un champ id en autoincrément dans ma base commandes
    J'ai mis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO commandes (id) VALUES('')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    pour insérer mon id, mais je le met juste avant cette boucle
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    foreach ($panier as $valeur=>$cde)
    {
    //A chaque itération, la clé de l'élément courant est assigné à la variable $valeur
     
    $sql="select * from base_articles where id='$valeur'";
    $req=mysql_query($sql)or exit ('Erreur SQL !'.$sql.'<br>'.mysql_error());
    while( $data=mysql_fetch_array($req) )
     
    {
    // mysql_fetch_array retourne un tableau qui contient la ligne demandée dans le résultat $req et déplace le pointeur de données interne d'un cran.
    $nom=$data['DESCRIPTIONFRANCAISE']; // nom de la fleur
    $designation =$data['DESIGNATION']; // DESIGNATION 
     
     
     
     
    $values =  "  $values <br> $nom,$cde,$designation "; 
    $sql = "INSERT INTO commandes (id_membre,date,heure) VALUES('$id_membre','$date','$heure')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
    //recuperation de l'id 
    $id_commandes = mysql_insert_id(); 
     
    echo $id_commandes;
     
    $sql = "INSERT INTO article_commande (id,id_commandes, nom, qte, designation   ) VALUES('','$id_commandes','$nom','$cde','$designation')";
     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
    } // while
     
    }

    et je voudrais que mon champ id ait la même valeur à chaque boucle, mais qu'il s'auto incrémente quand on arrive sur la page, est ce possible s'il vous plait ?
    Merci

  2. #2
    Membre régulier Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Points : 122
    Points
    122
    Par défaut
    ça sert a quoi ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO commandes (id) VALUES('')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    pour moi ça increment l'ID de la table

    et ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "INSERT INTO commandes (id_membre,date,heure) VALUES('$id_membre','$date','$heure')";
    Aussi.
    parce que c'est pas parce que l'on lui dit pas, qu'il ne le fait pas.

    j'avoue ne pas trop comprendre...

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    comme le dit bartrik ce la ne sert a rien ta premiere requète tu fais seulement ça:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    foreach ($panier as $valeur=>$cde)
    {
    //A chaque itération, la clé de l'élément courant est assigné à la variable $valeur
     
    $sql="select * from base_articles where id='$valeur'";
    $req=mysql_query($sql)or exit ('Erreur SQL !'.$sql.'<br>'.mysql_error());
    while( $data=mysql_fetch_array($req) )
     
    {
    // mysql_fetch_array retourne un tableau qui contient la ligne demandée dans le résultat $req et déplace le pointeur de données interne d'un cran.
    $nom=$data['DESCRIPTIONFRANCAISE']; // nom de la fleur
    $designation =$data['DESIGNATION']; // DESIGNATION 
     
     
     
     
    $values =  "  $values <br> $nom,$cde,$designation "; 
    $sql = "INSERT INTO commandes () VALUES('','$id_membre','$date','$heure')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
    //recuperation de l'id 
    $id_commandes = mysql_insert_id(); 
     
    echo $id_commandes;
     
    $sql = "INSERT INTO article_commande (id,id_commandes, nom, qte, designation   ) VALUES('','$id_commandes','$nom','$cde','$designation')";
     mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
    } // while
     
    }

    et cela suffit

  4. #4
    Membre régulier Avatar de zabdaniel
    Profil pro
    Inscrit en
    Février 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 175
    Points : 86
    Points
    86
    Par défaut
    ok merci je me suis servi de ce que vous avez dit en fait je fais mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO commandes (id, id_membre,date,heure) VALUES('','$id_membre','$date','$heure')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    avant ma boucle et bon maintenant je pense récupérer mon id dans la variable $id_commandes et ainsi dans ma boucle insérer mes produits, je vois si ça marche et je reviens
    merci

    EDIT : c'est ok ça marche merci merci merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2012] Souci avec ID auto-incrémentés
    Par eddyphan dans le forum MS SQL Server
    Réponses: 20
    Dernier message: 09/12/2013, 08h27
  2. Réponses: 1
    Dernier message: 09/08/2012, 20h08
  3. Problème avec l'auto incrémentation
    Par k3nz0 dans le forum Administration
    Réponses: 3
    Dernier message: 01/07/2011, 15h43
  4. Réponses: 2
    Dernier message: 05/02/2010, 16h13
  5. Réponses: 2
    Dernier message: 27/04/2009, 11h39

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