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 :

l'ajout Des Données de 3 tables dans une seule table apres validation [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Points : 101
    Points
    101
    Par défaut l'ajout Des Données de 3 tables dans une seule table apres validation
    bonjour j'ai 4 table (client, pack, commande et sorti)
    je me suis sur le formilaire saisie commande
    je veux que quand je valide il dois me faire l'ajout dans la table sorti automatiquement par differents données
    pour cela je me suis servis du sql

    voila ce que j'ai fais
    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
     
    if($choix=='valider')
    {
    $sql="insert into `commande` values('', '$numc_cde', '$refp_cde', '$date_cde' , '$qt_cde', DATE_ADD('$date_cde', INTERVAL 1 YEAR))";
    }
    elseif($duree==2)
    {
    $sql="insert into `commande` values('', '$numc_cde', '$refp_cde', '$date_cde' , '$qt_cde', DATE_ADD('$date_cde', INTERVAL 2 YEAR))";
     }
     else
     { 
     $sql="insert into `commande` values('', '$numc_cde', '$refp_cde', '$date_cde' , '$qt_cde', DATE_ADD('$date_cde', INTERVAL 3 YEAR))";
     }
    mysql_query($sql) or die("Erreur en sql". mysql_error());
    echo'<p font size="4" face="Verdana, Arial, Helvetica, sans-serif">
    <div align="center"><font color="#003399"><br> La Commande est ajouter avec successee <img src="../images/ok.png" width="18" height="24"> </p></div>';
     
    $sql1="update pack, commande set qts_pack=qts_pack - $qt_cde where pack.ref_pack = commande.refp_cde and refp_cde='$refp_cde'"; // maj qt en stock//
     
    $sql2="insert into `sorti`(num_auto, refp_sorti, lib_sorti, qt_sorti, datee_sorti, dates_sorti, numclt_sorti, nomclt_sorti) select refp_cde, lib_pack, qt_cde, date_pack, date_cde, num_clt, nom_clt from client, pack, commande where client.num_clt = commande.numc_cde and pack.ref_pack = commande.refp_cde and numc_cde='$numc_cde' and refp_cde='$refp_cde'";
    //requette d'insertion des données dans la table sorti automatiquement
    mysql_query($sql1) or die("error en sql update". mysql_error());
    mysql_query($sql2) or die("erreur requette d'insertion dans la table sorti". mysql_error());
    quand remplis les champs et je valide
    il me sorte un deboguage
    erreur requette d'insertion dans la table sorti Column count doesn't match value count at row 1
    il m'indique que je dois introduire value
    svp pouvez vous m'aidez sur ca ?

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Points : 101
    Points
    101
    Par défaut ok
    bon ok j'ai resoulu le probleme j'aurai du enlever le champ num_auto dans la table sorti parceque il s'incremente alors il dois pas s'exister dans la requette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql2="insert into `sorti`(num_auto, refp_sorti, lib_sorti, qt_sorti, datee_sorti, dates_sorti, numclt_sorti, nomclt_sorti) 
    select refp_cde, lib_pack, qt_cde, date_pack, date_cde, num_clt, nom_clt 
    from client, pack, commande
     where client.num_clt = commande.numc_cde and pack.ref_pack = commande.refp_cde and numc_cde='$numc_cde' and refp_cde='$refp_cde'";

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/06/2014, 21h21
  2. [AC-2003] Additionner des champs d'une meme table dans une seul requete
    Par Ardiden31 dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 26/04/2012, 11h21
  3. Insérer des données sur plusieurs lignes dans une seule en SQL
    Par nathantahiti dans le forum Développement
    Réponses: 1
    Dernier message: 03/08/2011, 10h47
  4. comment ajouter des données et les enregister dans une combobox?
    Par mohtah2011 dans le forum Discussions diverses
    Réponses: 1
    Dernier message: 24/06/2011, 19h56
  5. plusieurs tables dans une seule table
    Par scully2501 dans le forum Access
    Réponses: 1
    Dernier message: 10/10/2005, 09h19

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