Bonjour,
je voudrais effectuer une requete sur 4 tables, et voudrai afficher le resultat de la
requete dans un seul tableaux.
J'ai pu realiser une jointure avec 2 tables, mais ait des problemes pour realiser une
jointure entre 4 differentes tables.
Mes tables
table personnel(matricule varchar (10) not null,
nom varchar (30) not null,
prenom varchar (30) not null,
sexe varchar (30) not null,
profession varchar (40) not null,
email varchar (20) not null,
adresse varchar (40),
telDomicile varchar (16),
telPhoto varchar (16),
grade varchar (20), primary key(matricule))
table postedetravail(codePoste varchar(10),
telPoste varchar(10),
codeService varchar(10),
matricule(5),
primary key (codePoste))
table direction (codeDir varchar (10) not null,
nomDir varchar (50) primary key (codeDir))
table service (codeService varchar (10) not null,
nomService varchar (50) not null,
codeDir varchar (10),
primary key (codeService))
mon code
<?php // ligne 1
{
$host = "localhost"; // ligne 4
$user = "root"; // ligne 5
$passwd = ""; // ligne 6
$dataB = "annuaireUo"; //ligne 7: chemin de la base de donnees
// ligne 8
$connBD = mysql_connect ($host, $user, $passwd); //ligne 9: connection au serveur MySql or die("Erreur de connection ".mysql_error())
mysql_select_db ($dataB, $connBD); // ligne 11: connection a la BD or die("Erreur de selection ".mysql_error())
$InsertionPersonnel = "insert into personnel (matricule, nom, prenom, sexe, profession, email, adresse, telDomicile, telMobile, grade ) VALUES ('".$_POST['matricule']."', '".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['sexe']."', '".$_POST['profession']."', '".$_POST['email']."', '".$_POST['adresse']."', '".$_POST['telDomicile']."', '".$_POST['telMobile']."', '".$_POST['grade']."')"; // insertion des donnes dans la BD personnel
$varcodePoste = $_POST['matricule'].$_POST['telPoste'];
$InsertionPosteTravail = "insert into postedetravail (codePoste, telPoste, codeService, matricule) values ('".$varcodePoste."', '".$_POST['telPoste']."', '".$_POST['codeServ']."', '".$_POST['matricule']."')"; // insertion des donnes dans la BD poste de travail
$InsertionDirection = "insert into direction (codedir, nomdir) values ('".$_POST['codeDir']."', '".$_POST['nomDir']."')"; // insertion des donnes dans la BD direction
$InsertionService = "insert into service (codeService, nomService, codeDir, matricule) values ('".$_POST['codeServ']."', '".$_POST['nomServ']."', '".$_POST['matricule']."')"; // insertion des donnes dans la BD direction
mysql_query ($InsertionPersonnel);
mysql_query ($InsertionPosteTravail);
mysql_query ($InsertionDirection);
mysql_query ($InsertionService);
//mysql_close(); // ligne 19
}
//////////////////////////////////////// affichage des enregistrements dans un tableau ////////////////////////////////
//$requete = "select * from personnel"; //selection de tous les enregistrements de la table personnel
//$sql_query2 = "select * from postedetravail"; //selection de tous les enregistrements de la table postedetravail ligne 30
$requete ="select
personnel.matricule,
personnel.grade,
personnel.nom,
personnel.prenom,
personnel.sexe,
personnel.profession,
personnel.email,
personnel.telDomicile,
personnel.telMobile,
postedetravail.codePoste,
postedetravail.telPoste,
postedetravail.codeService,
postedetravail.matricule
direction.nomDir,
service.nomService,
from personnel, postedetravail, direction, service where postedetravail.matricule = personnel.matricule AND service.matricule = personnel.matricule AND direction.codeDir = service.codeDir";
$result = mysql_query($requete); //ligne 51
//<!--<table> -->// ligne 53
echo "<table border = '1' bordercolor = '#000080'>";
echo '<tr>
<td><b>Matricule</b></td>
<td><b>Grade</b></td>
<td><b>Nom</b></td>
<td><b>Prenom</b></td>
<td><b>Sexe</b></td>
<td><b>Profession</b></td>
<td><b>E-mail</b></td>
<td><b>Téléphone dom</b></td>
<td><b>Téléphone mob</b></td>
<td><b>CodePoste</b></td>
</tr>';
$i=0;
While($row=mysql_fetch_array($result)) //ligne 68
{
if ($i%2==0)
$couleur='#dfdfdf';
else
$couleur='#ebebeb';
$i++; //ligne 74
echo'
<tr>
<td bgcolor="'.$couleur.'">'.$row['matricule'].' </td>
<td bgcolor="'.$couleur.'">'.$row['grade'].' </td>
<td bgcolor="'.$couleur.'">'.$row['nom'].'</td>
<td bgcolor="'.$couleur.'">'.$row['prenom'].' </td>
<td bgcolor="'.$couleur.'">'.$row['sexe'].'</td>
<td bgcolor="'.$couleur.'">'.$row['profession'].'</td>
<td bgcolor="'.$couleur.'">'.$row['email'].'</td>
<td bgcolor="'.$couleur.'">'.$row['telDomicile'].'</td>
<td bgcolor="'.$couleur.'">'.$row['telMobile'].'</td>
<td bgcolor="'.$couleur.'">'.$row['codePoste'].'</td>
</tr>';
}
echo "</table>";
mysql_close(); //ligne 91
?>