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 :

inserer une ligne d'une table dans une autre table


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Points : 105
    Points
    105
    Par défaut inserer une ligne d'une table dans une autre table
    Bonjour à vous

    Tout d'abord voiçi la situation : j'ai 2 tables dans ma base, une appelée "produit" et l'autre appelée "panier". Ce que je souhaite c'est que lorsque je suis sur la page "produit.php" je puisse faire un "ajouter au panier".
    Ce qui donne ce lien (j'externalise avec une page Ajout) :

    <a href='../AjoutPanier.php'>Ajouter au panier</a>
    Maintenant le problème c'est pour ajouter tous les enregistrements du produit choisie (de la table produit) dans les champs de la table panier(même nombre de champs et même noms), comment je procède?

    Car si j'utilise cette requête tous les champs de tous les produits iront dans la table panier :

    $requete = "insert into panier (pdt_ref, pdt_designation, pdt_prix, pdt_image, pdt_categorie) select pdt_ref, pdt_designation, pdt_prix, pdt_image, pdt_categorie from produit";
    Pour pouvoir y inserer que la ligne choisie je pensait a une requête qui ressemblerai a la précédente mais en ajoutant un "WHERE", sauf que je ne sais pas comment faire pour prendre juste une ligne

    Voila si je pouvais avoir de l'aide s'il vous plait

  2. #2
    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
    Si tu ajoutes un WHERE sur l'id tu n'aurais forcemment qu'une ligne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Points : 105
    Points
    105
    Par défaut
    oui mais justement, comment ecrire ce where

  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
    WHERE pdt_ref = 32934923
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Points : 105
    Points
    105
    Par défaut
    en fait la page produit se présente comme ceci :

    image - référence - désignation - prix - ajouter au panier

    Ce que je souhaite, c'est que lorsque l'on clique sur "ajouter au panier", le produit s'ajoute dans la table panier

    Or la requête "WHERE pdt_ref = 32934923 " ne marcherai que pour un produit en particulier, il faut donc ecrire un WHERE pdt_ref = ? ;

    C'est ce point d'interrogation que je ne sais comment ecrire. Il faut que ça soit une variable car cela peut-être différents produits.

  6. #6
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Bonsoir,

    Tout d'abord, ta syntaxe du INSERT INTO me semble bien singulière...
    Chez moi, il se compose ainsi :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO "nomTable" ("colonne1", "colonne2", ...)
    VALUES ("valeur1", "valeur2", ...)

    Ensuite, il me semble que la fin d'une instruction SQL est donnée par un point virgule " ; ".

    A partir de là... Ta syntaxe ne veut malheureusement rien dire.


    Par contre, ce que tu veux, c'est que ce soit l'article que ton client a choisi qui se mette dans la table panier (je suppose que cette table prend un numéro client et un produit pour clef primaire au moins)

    Bref,

    comment récupérer la valeur saisie? La valeur choisie.

    Ca se fait en php (si tu utilises le php) par $_GET('monArticle') ou $_POST('monArticle').

    Tout dépend de ton passage de paramètre pour ton form.
    De plus, monArticle est un exemple (je ne sais pas s'il fallait ou non le préciser). cette valeur est à remplacer par le nom de l'input où ton utilisateur final saisi la valeur.

    Ainsi tu obtiendras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requete = "taRequête(...) WHERE pdt_ref = $_POST['monArticle']";
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/01/2008, 22h40
  2. Réponses: 0
    Dernier message: 06/12/2007, 11h08
  3. copier une ligne et la coller dans une nouvelle
    Par alexkickstand dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/09/2007, 20h10
  4. Réponses: 2
    Dernier message: 04/05/2007, 15h13
  5. Réponses: 4
    Dernier message: 15/03/2007, 20h32

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