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 :

Récupérer les données de 2 tableaux dans une boucle


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Récupérer les données de 2 tableaux dans une boucle
    Bonjour à tous,

    Je me connecte à une première bdd pour récupérer le champ 'name' d'une table 'files'.
    Ensuite je me connecte à une 2ème bdd pour récupérer le champ 'id' d'une table 'bab_files'.

    Je veux donc mettre le résultat de ces 2 requetes dans 2 tableaux array et ensuite, à l'aide d'une boucle, récupérer chaque données afin de créer un fichier sql que j'importerais moi meme dans phpmyadmin.

    Actuellement, je ne récupère que la 1ère ligne de chaque tableau et j'ai une boucle infinie...

    Comment faire?

    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
    function recupTitle(){
     
    	include 'connection.php';
     
     
    	$requete1 = mysql_query("select * from files where parent=6251") or die("Erreur SQL : $requete1<br/>".mysql_error());
    	$donnees = mysql_fetch_array($requete1);
     
     
    	include 'connection2.php';
     
    	$requete = mysql_query("select id from bab_files where path='GSM-R'") or die("Erreur SQL : $requete<br/>".mysql_error());
    	$data = mysql_fetch_array($requete);
    	//$ouvrirFichier = fopen("recupTitle.txt","w+");
     
    	while($data && $donnees){
     
     
    			//fputs($ouvrirFichier,"UPDATE bab_fm_fieldsval SET fvalue='".$donnees['name']."' WHERE id_file='".$data['id']."'");
    			echo "Données name: ".$donnees['name']." Ainsi que l'id: ".$data['id']."<br>";
     
    	}
    }

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    C bien de faire les connexion avec les includes, mais est ce que au moins ya les closes de chaque connexion !!!

    Pour la boucle infinie, faut peut lire des données dans le While parceque là:
    $data && $donnees sont fixe
    C pas la bonne condition pour sortir ....

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 281
    Points
    281
    Par défaut
    Concrètement tu cherches à afficher les lignes d'une table dont tu récupères les id dans une autre table ?
    Si c'est le cas, pourquoi avoir ces deux tables dans des bases différentes alors qu'une jointure suffirait pour avoir ces infos si les tables étaient dans la même base ?

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Citation Envoyé par Palca Voir le message
    Si c'est le cas, pourquoi avoir ces deux tables dans des bases différentes alors qu'une jointure suffirait pour avoir ces infos si les tables étaient dans la même base ?
    Si c'est le cas, tu peux faire ta jointure sur les deux bases ouvertes (si même serveur parcontre )

    Genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from db1.tableA, db2.table2 etc ..........

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bonjour, merci pour vos réponses.

    Pour la boucle infinie, faut peut lire des données dans le While parceque là:
    $data && $donnees sont fixe
    C pas la bonne condition pour sortir ....
    Eh bien j'ai un mysql_fetch_array dans $data et $donnees, il ne lit pas les données du tableau?

    Concrètement tu cherches à afficher les lignes d'une table dont tu récupères les id dans une autre table ?
    Si c'est le cas, pourquoi avoir ces deux tables dans des bases différentes alors qu'une jointure suffirait pour avoir ces infos si les tables étaient dans la même base ?
    Justement il s'agit de 2 bases différentes

    Pour info voici le code de mes 2 fichiers de connection:

    connection.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    $user = "user";
    $pass = "****";
    $bdd = "extranet";
    $host = "**host1**";
     
    $connect = mysql_connect($host,$user,$pass);
     
    mysql_select_db($bdd, $connect)
    or die("Impossible de séléctionner la bdd");
     
    ?>
    connection2.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    $user = "user";
    $pass = "****";
    $bdd = "ovid";
    $host = "**host2**";
     
    $connect = mysql_connect($host,$user,$pass);
     
    mysql_select_db($bdd, $connect)
    or die("Impossible de séléctionner la bdd");
     
    ?>

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Eh bien j'ai un mysql_fetch_array dans $data et $donnees, il ne lit pas les données du tableau?
    Si avant l'entrée dans la boucle, mais pas dans la boucle

    Sinon c sur deux serveur différents donc pas de jointures possibles, dsl.

    Par contre dans ton while tu peux peut être faire les deux "mysql_fetch_array" de $données et de $data

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bon, je pense avoir résolu mon problème,

    Voici mon 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    function recupTitle(){
     
    	include 'connection.php';
     
    	$requete1 = mysql_query("select * from files where parent=6251") or die("Erreur SQL : $requete1<br/>".mysql_error());
    	$donnees = mysql_fetch_array($requete1);
     
    	mysql_close();
     
     
    	include 'connectionOvidentia.php';
     
    	$requete = mysql_query("select * from bab_files where path='GSM-R'") or die("Erreur SQL : $requete<br/>".mysql_error());
    	$data = mysql_fetch_array($requete);
    	//$ouvrirFichier = fopen("recupTitle.txt","w+");
     
    	mysql_close();
     
     
    	while($data = mysql_fetch_array($requete)){
     
    			//fputs($ouvrirFichier,"UPDATE bab_fm_fieldsval SET fvalue='".$donnees['name']."' WHERE id_file='".$data['id']."'");
    			echo "ID: ".$data['id']."et path= ".$data['path']."<br>";
    	}
     
    	while($donnees = mysql_fetch_array($requete1)){
     
    			//fputs($ouvrirFichier,"UPDATE bab_fm_fieldsval SET fvalue='".$donnees['name']."' WHERE id_file='".$data['id']."'");
    			echo "Données name: ".$donnees['name']."<br>";
    	}
    }

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

Discussions similaires

  1. Récupérer les données d'un formulaire dans une servlet
    Par Rinel dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 27/12/2014, 11h49
  2. Réponses: 3
    Dernier message: 27/05/2010, 23h36
  3. Récupérer les coordonnées de plusieurs DIV dans une boucle PHP
    Par renaud26 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/11/2009, 10h23
  4. Réponses: 7
    Dernier message: 16/10/2008, 16h11
  5. Réponses: 6
    Dernier message: 27/09/2006, 20h27

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