Afficher un champ d'un autre table

Résolu
patric31 Messages postés 30 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 11 février 2014 - 26 nov. 2008 à 10:41
patric31 Messages postés 30 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 11 février 2014 - 26 nov. 2008 à 14:26
Bonjour,
J'ai une BDD avec 2 tables, j'arrive à AJOUTER, MODIFIER et SUPPRIMER sans soucis une table après l'autre.
Seulement la table 2 utilise une champ qui est aussi dans la table 1, et je voudrais me servir de cela pour afficher des infos des deux tables dans un WHILE.
voici le code, je pense que ce sera plus facile à comprendre :
J'affiche la table 2:

$sql ="SELECT * FROM mandats ORDER BY nom_mandat";
$rs =mysql_query($sql,$cnn);
while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
    {  $nom_mandat                = $ligne['nom_mandat'];
        $nni_mandat                = $ligne['nni_mandat'];
        $heures_mandat            = $ligne['heures_mandat'];
        $micro                    = $ligne['micro'];
        $trois_g                = $ligne['3g'];// $ligne est un tableau associatif
        $acces_imprimante        = $ligne['acces_imprimante'];
        $acces_photocopieur        = $ligne['acces_photocopieur'];
        $acces_fax                = $ligne['acces_fax'];
        $gsm                    = $ligne['gsm'];
        $tel_fixe                = $ligne['tel_fixe'];
        $conf_tel                = $ligne['conf_tel'];
        $email_250                = $ligne['email_250'];
        $email_100                = $ligne['email_100'];
        $intranet                = $ligne['intranet'];
        $edf_web2                = $ligne['edf_web2'];
    $html="<tr>";
    $html.="<td>$nom_mandat</td> <td>$nni_mandat</td> <td>$heures_mandat</td> <td>$micro</td> <td>$trois_g</td> <td>$acces_imprimante</td> <td>$acces_photocopieur</td> <td>$acces_fax</td> <td>$gsm</td> <td>$tel_fixe</td> <td>$conf_tel</td> <td>$email_250</td> <td>$email_100</td> <td>$intranet</td> <td>$edf_web2</td>";
echo $html; }  

Le tableau s'affiche très bien mais dans une seconde table j'ai le meme champs nni_mandat qui s'appelle nni et qui correspond à un nom de personne. Je voudrais qu'à chaque ligne s'affiche le nom de personne qui sorrespond au nni.
Donc il faudrait que je selctionne aussi la seconde table, et qu'à chaque ligne j'aille chercher à qui correspond le nni_mandat.
J'espère avoir été assez clair (pas sur . . .)
merci de votre aide.
Patrick

2 réponses

lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
26 nov. 2008 à 14:13
Bonjour,

En supposant que la table 2 soit de cette forme :
    
     TABLE2
-----------------
-- index || nni  --
-----------------
--   1    || toto --
--   2    || tata --
----------------

Et que la colonne nni_mandat correspond a l'index de la 2eme table.

Essaie cette requête :
$sql ="SELECT * FROM mandats,table2 WHERE table2.index = mandats.nni_mandat ORDER BY nom_mandat";

Dans la variable $ligne["nni"], tu auras le nom de la personne souhaitée

Bonne Prog
3
patric31 Messages postés 30 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 11 février 2014
26 nov. 2008 à 14:26
Grand merci pour tout
ça marche.
3
Rejoignez-nous