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 :

Insert into multiple dans même table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Points : 144
    Points
    144
    Par défaut Insert into multiple dans même table
    Bonjour,

    Comment insérer plusieurs lignes à la fois dans une même table?

    J'ai un champ texte et une liste déroulante pour selectionner la langue (comme ceci).

    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
     
    <input class="validate[requiered,length[0,100]] text-input" type="text" id="country_fr" name="country" style="display:none" value="<?php echo $country;?>"/>
    <input type="text" id="country_en" name="country" style="display:none" value="<?php echo $country;?>"/>
    <input type="text" id="country_th" name="country" style="display:none" value="<?php echo $country;?>"/>
    <input type="hidden" name="id" value="<?php echo $id;?>" />
    <label for="lang">
    <select name="lang" id="row_lang" onChange="LangCountry()" onMouseOver="LangCountry()">
    		<option value="1">Français</option>
    		<option value="2">Anglais</option>
    		<option value="3">Thaï</option>
    </select>
    </p>
    <p>
    <label>
    	<input type="submit" name="button" value="Envoyer" />
    </label>
    </p>
    il garde bien en mémoire(javascript) les données insérées mais comment je peux insérer par "block" ces données?
    Je sais que cela dois se passer dans ma requête mais je ne sais pas comment m'y prendre...

    Voici mon code php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if($_POST['id'] == ""){
    	$sql = "INSERT INTO country (name_country,lang) VALUES ('$country','$lang')";
    }else{
    	$sql = "UPDATE country SET name_country='$country' WHERE id_country=" .$_POST['id'];
    }
    $result = mysql_query($sql);
    if(!$result){
    	$error = "probleme_sql : " . "<br />" . $sql . "<br />" . mysql_error();	
    }else{
    	$data = "Votre enregistrement a bien été pris en compte.";
    }
    Merci d'avance de vos réponses.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 123
    Points : 56
    Points
    56
    Par défaut
    Je pense qu'il faut que tu fasses 2 requêtes distinctes parce que d'un côté tu veux inserer des données et de l'autre les mettre à jour, je ferais ç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
     
    if($_POST['id'] == ""){
    	$sql = "INSERT INTO country (name_country,lang) VALUES ('".$country."','".$lang."')";
    }else{
    	$sql2 = "UPDATE country SET name_country='$country' WHERE id_country=" .$_POST['id'];
    }
    $result = mysql_query($sql);
    $result2 = mysql_query($sql2);
    if(!$result){
    	$error = "probleme_sql : " . "<br />" . $sql . "<br />" . mysql_error();	
     if(!$result2)
            $error = "probleme_sql : " . "<br />" . $sql . "<br />" . mysql_error();
     }else{
    	$data = "Votre enregistrement a bien été pris en compte.";
    }
    Dis moi si ça fonctionne

  3. #3
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Points : 144
    Points
    144
    Par défaut
    Je ne suis fait mal comprendre à mon avis:

    Ce que je veux faire c'est insérer 3 enregistrement à la fois via un champ texte et une liste déroulante qui prends une valeur numérique.

    Structure de la table

    id_country | name_country | lang
    1 | Belgique | fr
    2 | Belgium | en

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Pour les insertions multiples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO laTable (id_country, name_country, lang)
    VALUES (1, 'Belgique', 'fr'), (2, 'Belgium', 'en')

  5. #5
    Membre habitué
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Points : 144
    Points
    144
    Par défaut
    Merci ;-) cela fonctionne

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

Discussions similaires

  1. INSERT INTO SELECT dans la même table
    Par Goldstreet dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2010, 21h33
  2. insertion multiple dans des tables reliés avec transaction
    Par tortuegenie dans le forum ASP.NET
    Réponses: 8
    Dernier message: 28/01/2009, 21h10
  3. Insertion Multiple dans une Table
    Par faressam dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/09/2008, 14h10
  4. Conseils insert multiples sur même table
    Par ctobini dans le forum Requêtes
    Réponses: 4
    Dernier message: 26/05/2008, 10h59
  5. insertion multiple dans une table
    Par nenekes dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/02/2007, 10h50

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