je suis entrain de faire une application pour une commune en tant que stagiaire, il me manque une requête
Propriétaire adresse locataire
Ma base de données sous le conseils de mes profs est montée comme ca
une table batiment avec un id batiment et un #idpropriétaire
et une table Administres avec un idAdm #idBatiment
moi a partir de la je dois extraire les propriétaires du bâtiments que l'utilisateur choisis dans une liste qui me déroule tout les administres. et c'est dans le formulaire des administré que l'ont saisie le l'adresse de chaque locataires, pour extraire les locataires pas de problemes mais je n'arrive pas à extraire les propriétaires, en fait ces 2 tables ont une doubles relations du style M.Untel est propriétaire de tel batiment ou habite MTartenpion, je vous montre ma requête qui me donne le nom le prénom l'adresse de chaque personne mais je voudrai les propriétaires;
je sais cette requ^te est difficile mais y bien une tronche qui va m'aider
lien pour mes tables j'ai fait la double relation bien que mysql s'en moquehttp://www.flickr.com/photos/63935894@N02/
<?php
include("../commun/params.inc.php");
$data="";
$req="";
$db="";
$sql="";
$retour="";
$Non="";
$Prenom="";
$IdBat="";
$IdAdm="";
$IdBatiment="";
$NomProp="";
$Numero="";
$TypeVoie="";
$Voie="";
$total="";
$Idvoie="";
$totgen=0;
include("../php/menuinclude.php");
// je me connecte à MySQL
$db=mysql_connect(MYSQL_SERVER,MYSQL_LOGIN,MYSQL_PASSWORD) or die(mysql_error());
//je sélectionne la base
mysql_select_db(MYSQL_DATABASE,$db) or die(mysql_error());
//requete des voies
$requete="select b.IdVoie as IdVoie,v.Voie as Voie,t.TypeVoie as TypeVoie FROM TAdministres as a,TBatiments as b,TVoies as v,TTypesVoie as t
WHERE b.IdBatiment=a.IdBat AND v.Idvoie=b.Idvoie AND t.IdTypeVoie=v.IdTypeVoie
GROUP BY IdVoie ORDER BY v.Voie;";
$retour= mysql_query($requete) or die(mysql_error());
while ($ligne=mysql_fetch_assoc($retour)){
foreach($ligne as $champ=>$valeur)
$$champ=$valeur;
// la requete SQL
$sql = "SELECT a.Nom AS Nom, a.Prenom AS Prenom, v.IdVoie AS IdVoie, v.Voie AS Voie, t.TypeVoie AS TypeVoie, b.Numero AS Numero,Nom as NomProp
FROM TAdministres AS a,TBatiments as b,TTypesVoie as t, TVoies as v
WHERE a.IdBat=b.IdBatiment and b.IdVoie=v.IdVoie and v.IdTypeVoie=t.IdTypeVoie and b.IdVoie='$IdVoie' and b.IdProprietaire='$IdAdm'
ORDER BY IdVoie,Numero,Nom,Prenom,NomProp;";
//la requete des propriétair
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$total=mysql_num_rows($req);
// on fait une boucle qui va faire un tour pour chaque enregistrement
echo "<div id='page'>";
echo "<br><p>Voie : $TypeVoie $Voie</p><br><br>";
echo"<table>
<tr><th>Pro</th>
<th>Nom</th>
<th>Prenom</th>
<th>Num</th>
</tr>";
while($data = mysql_fetch_array($req))
{
// on récupère les variables correspondant aux champs et leurs valeurs
foreach($data as $champ=>$valeur)
$$champ=$valeur;
// on affiche les informations de l'enregistrement en cours
echo"
<tr><td>$NomProp</td>
<td>$Nom</td>
<td>$Prenom</td>
<td>$Numero</td>
</tr>";
}
echo "</table>";
$totgen+=$total;
echo "<br><br><br>Total : $total habitant";
echo ($total>1)?"s":"";
"</div>";
echo "<br><br>";
}// fin de boucle des voies
echo "<br><br>total pour toutes les voies : $totgen habitant";
echo ($totgen>1)?"s":"";
// on ferme la connexion à mysql
mysql_close();
?>
</div>
</body>
</html>