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 :

Recuperer les valeurs d'une bdd pour les ré-inserer en un ligne [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut Recuperer les valeurs d'une bdd pour les ré-inserer en un ligne
    Slt à tous,
    j'essaye de faire un truc, je sais pas si c'est possible, je pense que oui mais je sais pas faire.
    voile un bdd dans laquelle je récupér des données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $requete = "select * from document WHERE  id='$id'";
    $requ = mysql_query($requete) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
    while ($ligne = mysql_fetch_object($requ)){
    $lesref=$ligne->refdoc;
    }
    donc je récupère "$lesref" grâce a cela mais cela me crée une valeur par ligne.
    ref1
    ref2
    ref 3...

    c'est la ou est mon problème, j'aurai besoin d'obtenir 1 seule variable contenant "ref1ref2ref3" pour pouvoir l’insérer dans une autre bdd avec
    Comment faire ?

    merci d'avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Par défaut
    Et si tu ajoutais à ta variable $lesref les valeurs que tu recupère

    dans ta boucle while, ajoute un point avant l'égal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lesref .=$ligne->refdoc;

  3. #3
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    ok, sauf que cela va m’insérer 3 lignes en bdd.
    du style :
    id ref
    1 ref1
    2 ref1ref2
    3 ref1ref2ref3
    Moi je voudrais que la 3eme ligne avec ref1ref2ref3

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Par défaut
    En principe non, si tu fais l'insert après ta boucle while et non dedans.

  5. #5
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    exact, sauf que je suis dans un foreach cla galere,
    comment je peux faire
    je met le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    foreach ($_POST['qte'] as $id => $qte) {
    if($qte==''){
    }else{
    $requete = "select * from document WHERE  id='$id'";
    $requ = mysql_query($requete) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
    while ($ligne = mysql_fetch_object($requ)){
    $lesref.=$ligne->refdoc;
    $total=$lesref.$qte;
    }
    $sql = "INSERT INTO commande VALUES('','', '$total','','non')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
    }
    }
    je suis obligé d'être dans une foreach pour récupérer la valeur quantité "$qte" d'un formulaire.


    Merci

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    foreach ($_POST['qte'] as $id => $qte) {
        if($qte != ''){
             $requete = "select * from document WHERE  id='$id'";
             $requ = mysql_query($requete) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
             while ($ligne = mysql_fetch_object($requ)){
                     $lesref .= $ligne->refdoc;
             }
        }
    }
    $sql = "INSERT INTO commande VALUES('','', '$total','','non')"; 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
    En sortant la requête d'insertion dans la base du foreach tu n’insérera qu'une seul fois,

    pour chaque $_POST['qte'] que tu reçois tu va ajouter à la chaîne de caractères $lesref la chaîne de caractères refdoc de ta requête SQL,

    enfin tu va insérer dans ta base la chaîne complète $lesref.

    PS : Au lieu de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if( $qte == ''){
        //Aucun traitement
    }else{
        /mon traitement
    }
    passe directement par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if( $qte != ""){
        //Mon traitement.
    }

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 17/03/2015, 22h42
  2. [XL-2007] Extraire toutes les valeurs d'une Listbox pour les afficher dans un commentaire
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2013, 18h12
  3. Réponses: 0
    Dernier message: 11/08/2008, 10h13
  4. Réponses: 9
    Dernier message: 05/11/2007, 11h05
  5. Réponses: 4
    Dernier message: 22/05/2007, 14h42

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