Bonjour tout le monde,
J'ai un petit problème sur une requete qui me parait complexe et qui, je l'espere ne vous rendra pas aussi perplexe que moi :
J'ai besoin, dans le cadre du site que je développe d'obtenir un affichage de type :
vente Paris
vente dijon
vente strasbourg
achat paris
achat dijon
achat strasbourg
....
Et ce pour toutes les entrées de mes tables "ville" et "type_transac" ... Jusqu'ici tout va bien... Seulement ensuite, je dois vérifier que les champs ville et type_transac contenus dans une table "biens" correspondent bel et bien à un bien, sans quoi, je n'afficherais pas la ligne concernée...
Je n'ai trouvé une solution qu'en imbriquant 2 boucles while, ce qui explique pourquoi la solution ne me convient pas... j'ai fait un truc comme ça :
Evidemment, la page est plus que longe à afficher et souvent, elle ne s'affiche pas (délai dépassé)... J'ai beau reflechir, avec mes compétences, je ne vois pas de solutions pour passer outre ces imbrications, même avec une requete INNER JOIN... Une idée ?
J'ai un petit problème sur une requete qui me parait complexe et qui, je l'espere ne vous rendra pas aussi perplexe que moi :
J'ai besoin, dans le cadre du site que je développe d'obtenir un affichage de type :
vente Paris
vente dijon
vente strasbourg
achat paris
achat dijon
achat strasbourg
....
Et ce pour toutes les entrées de mes tables "ville" et "type_transac" ... Jusqu'ici tout va bien... Seulement ensuite, je dois vérifier que les champs ville et type_transac contenus dans une table "biens" correspondent bel et bien à un bien, sans quoi, je n'afficherais pas la ligne concernée...
Je n'ai trouvé une solution qu'en imbriquant 2 boucles while, ce qui explique pourquoi la solution ne me convient pas... j'ai fait un truc comme ça :
$sql_ville = 'SELECT * FROM ville';
$req_ville = mysql_query($sql_ville)
while($donnees=mysql_fetch_array($req_ville))
{
$nom_ville = $donnees['nom'];
$id_ville = $donnees['id'];
$sql_tb = 'SELECT * FROM type_transac';
$req_tb = mysql_query($sql_tb)
$affiche = "";
while($donnees_tb=mysql_fetch_array($req_tb))
{
$nom_tb = $donnees_tb['nomtb'];
$id_tb = $donnees_tb['idtb'];
$sql_b = 'SELECT * FROM `biens` WHERE type_transac = "'.$id_tb.'" AND ville = "'.$id_ville.'"';
$req_b = mysql_query($sql_b)
$donnees_b = mysql_fetch_array($req_b);
if(!$donnees_b)
{
echo $nom_tb.' '.$nom_ville."\n";
}
}
}
Evidemment, la page est plus que longe à afficher et souvent, elle ne s'affiche pas (délai dépassé)... J'ai beau reflechir, avec mes compétences, je ne vois pas de solutions pour passer outre ces imbrications, même avec une requete INNER JOIN... Une idée ?
J'ai insisté sur ce fait car dans la méthode que j'avais employé initialement, je partais des villes combinées avec les type de transactions pour créer ma liste, Or, je n'aurais pas dans ma base de données de location à pétaouchnoque (pour l'exemple) à proposer... Je ne veux donc pas afficher la ligne "locations à Pétaouchnoque". Évidemment, en partant de la table biens comme vous le faite, le problème ne se pose plus...