begin process at 2012 05 30 15:24:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

liste générée a partir de champs contenus dans 2 tables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

liste générée a partir de champs contenus dans 2 tables

lundi 25 juillet 2005 à 16:47:14 | liste générée a partir de champs contenus dans 2 tables

desperado007

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?
lundi 25 juillet 2005 à 20:45:11 | Re : liste générée a partir de champs contenus dans 2 tables

Zart

Pour moi la solution est bidon...
Plutot que de te faire chier à faire 1 requete tu en fais 2 tout simplement...
Pour éviter de faire des accès de merde à ta bd tu fais en premier une requete qui sélectionne tous les n-uplets de ta table truc_bd tu les batch dans un premier tableau (à la walegen [je sais pas comment ça s'écrit]) que tu appelles resultatsBd;
Ensuite tu fais ta deuxième requete pour avoir les résultats de l'autre tables et tu les mets dans un tableau que tu appelles resultatsGap mais là tu fais gaffe quand tu remplis la clé de la table seras l'id de ton ingé
Cad que dans ta boucle tu mets $resultatsGap[$ligne['id']] = $ligne; par exmple pour remplir ton tableau correctement....

Pour finir tu écris le simple code suivant :
foreach($resultatsBd as $inge){ // $inge représente une ligne de la bd

}
donc dans cette boucle tu peux avoir les infos de la bd truc_bd et de l'autre en faisant $resultatsGap[$inge['id']] et là tu as une ligne de la table truc_gap donc tu peux avoir toutes tes infos....

Moi je préfère écrire plein de code plutot que de faire des supers requetes...



Cette discussion est classée dans : bd, formulaire, gap, omega, codeing


Répondre à ce message

Sujets en rapport avec ce message

formulaire de login pour bd [ par Metalpowa ] j'voudrais me faire une page genreavec des champs textes "host", "Login", "password", et "BD" qui settent des variables, et avec un bouton "envoyer" q Variable php venant d'une bd mysql dans un formulaire html... [ par CyberMen30 ] J'ai un formulaire html dans lequel, j'ai besoins de transmettre de l'information qui vient d'"une bd...présentement ma ligne  ressemble a caEt quand affichage données BD [ par lamine11 ] salut à tous , voici mon problème , j'enrtegistre des données d'un formulaire dans und bd mysql (phpmyadmin) dans une page ,dans une autre page  j'aff comparer un formulaire avec la BD [ par elmaestro95 ] Bonsoir à tous, je viens chercher de l'aide parce que je sais plus quoi faire. mon probleme est le suivant : je veut comparer mon formulaire avec ma b enregistrement multiple dans une bd mysql via un formulaire [ par hoedown ] njour , bon je suis debutant en php et je souhaite inserer plusieurs elements a ma base de donnees en meme temps il faut que j'insere dans une factur envoyer un formulaire a la fois sur une boite mail et sur une bd access [ par berni84 ] bonjour,pratiquement tout est ds le titre,j'ai fait un fomulaire , nom, prenom, adresse...et un page php pour l'envoyer direct sur ma bd accessmais j' Enregistrement dans la BD ne fonctionne pas [ par rodlake ] Bonjour Cela fait plusieurs jours que je tente de résoudre un problème et toujours sans succès. J'ai un formulaire et lorsque je tente d'enregistrer Formulaire inscription [ par zaikoe ] Bonjour, je suis en train de faire un projet interressant. Mais je n'y arrive pas car je ne sais RIEN du php. Je suis sous mac OSX lion 10.7.3 Mon pro Validation de formulaire et envoi d'une variable de formulaire [ par univers90 ] J'ai créé un base de donnée MYSQL contenant une liste de matériel. Les adhérent du club y accèdent par le biais d'une page sécurisée, ils peuvent décl Mon formulaire ne s'affiche pas dans ma page php [ par brfrance ] Bonjour, Bonjour, Mon formulaire html (voir ci dessous) ne s'affiche pas dans ma page php. formulaire :[code=html] " name="commentaire">


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,073 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales