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 :

Boucle while pour insert Mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut Boucle while pour insert Mysql
    Bonjour,

    J'ai besoin d'aide pour creer une moulinette, je rame et je rame

    Je vous explique, j'aimerai récuperer les id d'une table1 et les id d'une table2 pour les inserer dans une table3

    alors en faite :
    dans ma table1 "projects" j'ai par exemple de 1 a10 entrées nommés "ID"
    dans ma table2 "clients" j'ai par exemple 1 a 5 entrées nommés "ID"

    et dans ma table3 "clients_binds" j'ai 2 champs IDClients et IDProject que je souhaite alimenter avec les id des table1 et table2
    cela devrait donner les valeurs ci dessous :

    idclients-idproject
    1-1
    1-2
    1-3
    1-4
    1-5
    ...etc
    2-1
    2-2
    2-3
    --etc soit 50 entrées au complet, je pense que l'on peux faire ça avec un while non ?

    j’espère que je suis claire, j'ai fais un petit shema :



    Merci pour vos aides précieuses, car moi je sais pas comment commencer ?

    Cdt,
    MAx

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Moi ce que je ne comprends pas c'est que tu as déjà "IDclients" et "IdProject" dans ta table "clients" ... alors je vois pas à quoi peut te servir cette nouvelle table ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    c'est pour voir les clients qui ont des projets, mais je n'ai pas choisi cette archi, c'est un script que je souhaite adapter.

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    si j'ai bien compris tu auras besoin de 2 boucles imbriquées pour faire ça

    d'abord une boucle sur les élément de la 1re table et dans cette boucle, pour chaque élément, il y aura une 2e boucle qui parcourra la 2e table

    est ce que tu arrives à te représenter comment ça va fonctionner ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    oui j'ai fais un truc, mais cela ne marche pas, mais double boucle c'est pas gagné

    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
     
     
    $a="1";
    $req1 = mysql_query("SELECT id FROM projects where status = '1' ");
    $liste = array();
    while($row=mysql_fetch_object($req1))
    {
        $liste[] = ''.$row->id.'';    
     
    }
    $nums_list = implode(',', $liste);
     
    $req2 = mysql_query("SELECT id, projects FROM clients WHERE `id` ");
     while($data1 = mysql_fetch_assoc($req2))
        { 
     
    $idclients = "".$data1['id']."";
     
    $sql = "INSERT INTO client_project_binds(client_id, project_id) VALUES('$idclients','$nums_list')";
     
    $req1 = mysql_query($sql) or die('Erreur SQL !<br><br>'); 
     
        $a++;	
        }

  6. #6
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    tu peux le faire sans faire de boucle avec une seule requête mysql

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    insert  into clients_binds (SELECT clients.id as IDClients,Projects.id as IDPRoject FROM `clients` cross join Projects)
    ce message vous a aidé ! Un petit click sur fait toujours plaisir

    "Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent." Bev Littlewood & Lorenzo Strigini

    "Le logiciel, c’est comme le sexe, c’est meilleur quand c’est libre/gratuit." Linus Torvalds

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 71
    Points : 32
    Points
    32
    Par défaut
    C'est magique merci Patrick, je suis espanté comme on dit dans le sud

    MAx

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

Discussions similaires

  1. 2 boucle while pour même mysql_fetch_array
    Par babali33 dans le forum Langage
    Réponses: 3
    Dernier message: 29/04/2009, 15h52
  2. [MySQL] boucle while pour requête : erreur
    Par marcello06 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/09/2008, 06h41
  3. Probleme dans une boucle while pour remplir une JTable
    Par sky88 dans le forum Composants
    Réponses: 3
    Dernier message: 27/03/2008, 14h01
  4. boucle partielle pour insertion virgule
    Par olivier80 dans le forum Langage
    Réponses: 3
    Dernier message: 10/09/2006, 19h55
  5. Réponses: 6
    Dernier message: 28/04/2006, 09h16

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