Bonjour,
Voici mon probleme: je dois générer une liste d'ingénieur dans un fichier Excel.
Cette liste contient des données issues de 2 (voir 3) tables différentes:
Code :
- table formulaire_bd
- table formulaire_gap
- table formulaire_rrh
|
J'arrive a generer ce fichier excel, mais les données sont melangées; je m'explique:
Je veux récupérer:
"nom", "prenom" et "codeing" dans la table fomulaire_bd.
"date_entree" dans la table formulaire_gap
Il faut savoir qu'un ingénieur a un codeing unique.
les premières données saisies sont celles du formulaire_bd, puis le formulaire_gap est alors rempli.
Cependant, les données d'un ingénieur n'ont as nécessairement été saisies dans le formulaire_gap. --> mais il faut cependant que je puisse inclure dans la liste les ingnieurs dont le formulaire_gap n'a pas encore été saisi.
Ainsi, je veux pouvoir générer une liste de tous les ingénieurs contenus dans ces 2 tables (qui ont toutes 2 le champ "codeing" propre à 1 seul ingénieur).
J'espère avoir été suffisemment clair...
Voici le tableau que j'obtiens:
les 5 1eres lignes sont correcte, elles correspondent à la requete "req", les dates ne sont pas melangées.
Les lignes suivantes quant à elles, recuperent les infos des requete "req2" et "req3", et là c le bordel.. tout se melange...
Code :
- BD NOM PRENOM DATE D'ENTREE
- OMEGA DURAND Alfred 2005-05-28
- OMEGA LAVALLE Philippe 0000-00-00
- OMEGA BIDEUL Truc 2005-07-15
- OMEGA COSATI Sophie 2002-06-20
- OMEGA DUPONT Jean-paul 2002-05-20
- OMEGA 0000-00-00
- OMEGA DUPONT Jean-paul 2002-09-20
- OMEGA DURAND Alfred 2002-09-20
- OMEGA BIDEUL Truc 2002-09-20
- OMEGA LAVALLE Philippe 2002-09-20
- OMEGA COSATI Sophie 2002-09-20
- OMEGA MARSO Marc 2002-09-20
- OMEGA 111 111 2002-09-20
- OMEGA 777 777 2002-09-20
- OMEGA 888 888 2002-09-20
- OMEGA 999 999 2002-09-20
- OMEGA 34 545 2002-09-20
- OMEGA 5454 54654 2002-09-20
- OMEGA 2002-09-20
- OMEGA 55 656 2002-09-20
- OMEGA 465 456 2002-09-20
- OMEGA 1 1 2002-09-20
- OMEGA 456 123 2002-09-20
- OMEGA 132 132 2002-09-20
- OMEGA toto 301 2002-09-20
- OMEGA 258 258 2002-09-20
- OMEGA 7788 7788 2002-09-20
|
Voilà le code:
Code :
- //requete pour aller chercher les informations des champs
- $req = mysql_query("
- SELECT *
- FROM formulaire_bd f_bd INNER JOIN formulaire_gap f_gap ON f_bd.codeing=f_gap.codeing
- WHERE f_bd.bd ='OMEGA'
- " );
- $result = mysql_fetch_array($req);
- //requete pour aller chercher les informations des champs
- $req2 = mysql_query("
- SELECT *
- FROM formulaire_bd
- WHERE bd ='OMEGA'
- " );
- $result2 = mysql_fetch_array($req2);
- //requete pour aller chercher les informations des champs
- $req3 = mysql_query("
- SELECT date_entree
- FROM formulaire_gap f_gap INNER JOIN formulaire_bd f_bd ON f_bd.codeing=f_gap.codeing
- " );
- $result3 = mysql_fetch_array($req3);
- ?>
- <html xmlns:o="urn:schemas-microsoft-com:office:office"
- xmlns:x="urn:schemas-microsoft-com:office:excel"
- xmlns="www.w3.org/TR/REC-html40&...
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-latin-1" />
- <meta name="ProgId" content="Excel.Sheet" />
- <meta name="Generator" content="Microsoft Excel 9" />
- <style>
- </style>
- </head>
- <body>
- <table x:str="true" border="1" cellpadding="0" cellspacing="0">
- <tr>
- <td>BD</td>
- <td>NOM</td>
- <td>PRENOM</td>
- <td>DATE D'ENTREE </td>
- </tr>
- <? do { ?>
- <tr>
- <td><? echo $result['bd'] ?></td>
- <td><? echo $result['nom'] ?></td>
- <td><? echo $result['prenom'] ?></td>
- <td><? echo $result['date_entree'] ?></td>
- </tr>
- <? } while ($result=mysql_fetch_array($req)); ?>
- <? do { ?>
- <tr>
- <td><? echo $result2['bd'] ?></td>
- <td><? echo $result2['nom'] ?></td>
- <td><? echo $result2['prenom'] ?></td>
- <td><? echo $result3['date_entree'] ?></td>
- </tr>
- <? } while ($result2=mysql_fetch_array($req2)); ?>
-
- </table>
|
(A noter que ce code html sera converti en fichier Excel)
Je précise un truc:
en faisant ça
SELECT *
FROM formulaire_bd f_bd INNER JOIN formulaire_gap f_gap ON f_bd.codeing=f_gap.codeing
WHERE f_bd.bd ='OMEGA'
" );
la condition " ON f_bd.codeing=f_gap.codeing " va limiter la liste aux ingés qui se trouvent dans les 2 tables... or je souhaite pouvoir recupérer TOUS les ingés qui appartiennent à la BD 'OMEGA'., y compris ceux qui ne se trouvent pas encore dans la table formulaire_gap
Ma question: quelle requete sql dois-je faire pour pouvoir récupérer les données propres a un ingénieur dans les tables, sans que tout se melange, et sans avoir de doublons dans ma liste?