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 :

Insertion de plusieurs lignes dans une table


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Insertion de plusieurs lignes dans une table
    Bonjour!!
    j'aimerai bien savoir comment insérer plusieurs lignes de données posté par un formulaire grille dans une table mysql!!
    merci

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Exemple pour insérer 3 enregistrements :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO table(champ1, champ2)
    VALUES
    (valeur1.1, valeur1.2),
    (valeur2.1, valeur2.2),
    (valeur3.1, valeur3.2)
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    merci pour votre réponse mais le nombre de lignes est variable et les données sont saisient dans des cases (input text)

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Tu peux construire la requête dynamiquement.
    Quelle est la structure des données reçues ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Comment construire une requête dynamique d'insertion de plusieurs lignes?
    voici une partie du code dont la partie qui génère la forme grille de saisie des lignes:
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    $nbt=$_POST['nbt'];
    echo "<tr><td class=contacts><center><b>N° Bon&nbsp&nbsp&nbsp</b></center></td><td><center><b>Produit</b></center></td><td><center><b>Site de destination&nbsp&nbsp&nbsp</b></center></td><td><center><b>Nombre de binz</b></center></td><td><center><b>Cuve<b></center></td></tr>";
            for($i=0; $i<$nbt; ++$i) {
     
    $requet3="SELECT * FROM site";
    $requet4="SELECT * FROM produit";
     
    $result3=mysql_query($requet3, $link) and
    $result4=mysql_query($requet4, $link)
    or
    die(mysql_errno($link).mysql_error($link));
     
    echo "<tr><td><b>$nbon</b></td>";
    echo"<td><SELECT  class=\"select\"   name=\"prod\"   >";
     
    while($data6=mysql_fetch_row($result4)) {
     
     
    echo"<OPTION  value=$data6[0] class=\"bleu\"  selected >$data6[1]</OPTION>";
    } 
    echo"</SELECT></td>";
     
    echo"<td><SELECT  class=\"select\"   name=\"sitedest\"   >";
     
    while($data7=mysql_fetch_row($result3)) {
     
    echo"<OPTION  value=$data7[0] class=\"bleu\"  selected >$data7[1]</OPTION>";
    } 
    echo"</SELECT></td>";
     
    echo"</td><td><input type=text name=nbrb value='' size=7 ></td><td><input type=text name=cuve value='' size=7 ></td><td><input type=text name=codt value=$nbon size=7 ></td><td></td></tr>";
                                                    };
     
    if(!($result02=mysql_query($requet2))){
    $out="<center><BR><BR><BR><BR><BR><BR>Erreur de base de donnees";
    };
     
    echo"<tr><td width=60></td><td><input type=hidden name=exet value='12' size=7 ><input type=submit value=\"Validez\" class=\"button\"></td></tr>";
     
    echo"</form>";
     
    }
     
     
    mysql_close($link);

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Comment construire une requête dynamique d'insertion de plusieurs lignes?
    Exemple :

    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
    <?php
        // Je veux insérer les données suivantes en une seule requête
        $data = array(array('France', 'Europe', 'Paris'),
                      array('Japon', 'Asie', 'Tokyo'),
                      array('Espagne', 'Europe', 'Madrid'),
                      array('Madagascar', 'Afrique', 'Antananarivo')) ;
     
        // Construction dynamique de la requête :
        $sql = 'INSERT INTO pays(nom, continent, capitale) VALUES' ;
        foreach ( $data as $pays ) {
            $sql .= "('$pays[0]', '$pays[1]', '$pays[2]')," ;
        }
        $sql = substr($sql, 0, -1) ; // Suppression de la , finale
        echo $sql ; // Contrôle de la requête à soumettre
    ?>
    Note : impossible de t'aider si tu ne réponds pas aux questions posées
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre aide!!!voici la structure des données:
    une table MySql de 6 colonnes:
    Id:integr;
    codt:varchar;
    prod:varchar;
    sitedest:varchar;
    nbrb:integr;
    cuve:varchar;


    les données sont saisient comme j'ai dis dans un formulaire grille(composé des cases INPUT TEXT ) généré par un code php que j'ai affiché en haut.le nombre de lignes posté est variable!!

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 091
    Points : 8 194
    Points
    8 194
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par BOUWAGGOU Voir le message
    les données sont saisient comme j'ai dis dans un formulaire grille(composé des cases INPUT TEXT ) généré par un code php que j'ai affiché en haut.le nombre de lignes posté est variable!!
    OK, donc ton $_POST ressemblera peu ou prou à mon $data, il te suffira juste d'adapter la requête.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. inserer plusieurs lignes dans une table
    Par riadhhwajdii dans le forum SQL
    Réponses: 4
    Dernier message: 27/05/2010, 14h23
  2. [Toutes versions] Ajouter plusieurs lignes dans une table automatiquement
    Par bbolt dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 24/01/2010, 15h08
  3. [MySQL] insérer plusieurs lignes dans une table
    Par ozyman dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/02/2009, 22h33
  4. [WD9] Insertion de plusieur lignes dans une rubrique
    Par loic20h28 dans le forum WinDev
    Réponses: 39
    Dernier message: 06/06/2008, 19h02

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