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

Langage PHP Discussion :

INSERT et boucle


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut INSERT et boucle
    Salut

    Supposons un formulaire de 3 champs (champ1, champ2, champ3) et ayant 6 lignes (cad 6 input)

    Comment avec une requete INSERT INTO peut on enregistrer chaq ligne du formulaire dans une table ayant aussi 3 champs. Car je me perds un peu dans mes boucles.
    Merci de m'aider

  2. #2
    Membre éprouvé Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Par défaut
    supposons que tu ais enregistré tes 6 champ1 dans le tableau $champ1, tes 6 champ2 dans le tableau $champ2 et tes 6 champ3 dans le tableau $champ3,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for($i=0;$i<6;$i++)
    {
    $requete = "INSERT INTO table VALUES (".$champ1[$i].",".$champ2[$i].",".$champ3[$i].");";
    mysql_query($requete);
    }

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut
    voilà ce ke j'ai fait mais qui ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $i=0;
    $idcarac=$_POST['champ1'];
    $idprod=$_POST['champ2'];
    $valeur=$_POST['champ3'];
     
    for($i=0; $i<6; $i++)
    {
    mysql_query("INSERT INTO table VALUES('".$idcarac."','".$idprod."','".$valeur."')");
    ........
    Alors je c pas si jè un blèm dans la requête

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 45
    Par défaut
    Bonjour,

    il faut que tes 3*6 = 18 champs ont tous un nom différent (ou soit nommé en type tableau, champ1[]...)

    ensuite tu fais tes insert avec les bons noms de champs.

    insert champ1, champ2, champ3
    insert champ4, champ5, champ6

    ...


    etc

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut
    en faite le nombre de ligne viens d'une requete qui sort les caractéristiques pour un type de produit donc le nombre de ligne peut varié et la table où on INSERT à 3 champs (idprod, idcarac, valeur).

    Voilà pourquoi on utilise une boucle

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 45
    Par défaut
    Re,

    et bien soit tu genere ton formulaire de facon a avoir des nom de champs unique, par exemple :

    champ1_1, champ2_1, champ3_1
    champ1_2, champ2_2, champ3_2

    et ceci grace a un compteur : "champ1_" + $i

    soit tu utilise la notation tableau : <input name="champ1[]" />
    et dans ce cas du recup les valeurs comme bluemartini te l'a indiqué :
    $champ1[$i]

    dans tous les cas tu cré un champ type=hidden contenant le nombre de ligne de ton formulaire
    et dans la page d'arrivé tu fais ta boucle par rapport au nombre de ligne transmit ci-dessus.

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

Discussions similaires

  1. Insert into + boucle
    Par Nana35 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 13/11/2008, 09h04
  2. [SQL] Insert avec boucle
    Par Virgile59 dans le forum Développement
    Réponses: 1
    Dernier message: 05/11/2008, 10h46
  3. requête insert avec boucle ?
    Par Kropernic dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/09/2008, 15h24
  4. INSERT par boucle ?
    Par dunbar dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2006, 11h43
  5. [Conception] INSERT par boucle ?
    Par dunbar dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/08/2006, 15h06

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