par
netcodeur » 24 janv. 2006, 19:54
Bonjour. Je bute actuellement face à une requête MySQL.
Je dispose de 2 tables : CATEGORIE et SITE.
En simplifiant on a le MLD suivant :
-
CATEGORIE (
num_cat, nom_cat)
-
SITE (
num_site, nom_site,
#num_cat)
Je souhaiterai faire apparaitre ceci :
{nom_cat1}
------------------------------
- {nom_site1}
- {nom_site2}
{nom_cat2}
------------------------------
- {nom_site3}
- {nom_site4}
Vous voyez le genre ?
Actuellement j'ai pensé faire la requête suivante avec une jointure entre les 2 tables :
$sql="select * from categorie,site ";
$sql.="where categorie.num_cat=site.num_cat";
$req=mysql_query($sql);
while($tabres=mysql_fetch_array($req))
{
echo"<h2>".$tabres["nom_cat"]."</h2>";
echo"<ul>";
echo"<li>".$tabres["nom_site"]."</li>";
echo"</ul>";
}
Mais il y a un hic. Cela m'affiche en sortie ceci :
{nom_cat1}
------------------------------
- {nom_site1}
{nom_cat1}
------------------------------
- {nom_site2}
{nom_cat2}
------------------------------
- {nom_site3}
J'ai donc modifier cette requête mais je pense qu'il en existe une beaucoup plus simple que
celle-ci mais laquelle :
$sql="select * from categorie";
$req=mysql_query($sql);
while($tabres=mysql_fetch_array($req))
{
$num_cat = $tabres["num_cat"];
$nom_cat = $tabres["nom_cat"];
echo"<h2>".$nom_cat."</h2><ul>";
$sql2="select * from site where num_cat=$num_cat";
$req2=mysql_query($sql2);
while($tabres2=mysql_fetch_array($req2))
echo"<li>".$tabres2["nom_site"]."</li>";
echo"</ul>";
}
Merci de votre aide.
Bonjour. Je bute actuellement face à une requête MySQL.
Je dispose de 2 tables : CATEGORIE et SITE.
En simplifiant on a le MLD suivant :
- [u]CATEGORIE[/u] ([b]num_cat[/b], nom_cat)
- [u]SITE[/u] ([b]num_site[/b], nom_site, [b]#num_cat[/b])
Je souhaiterai faire apparaitre ceci :
[quote]{nom_cat1}
------------------------------
- {nom_site1}
- {nom_site2}
{nom_cat2}
------------------------------
- {nom_site3}
- {nom_site4}[/quote]
Vous voyez le genre ?
Actuellement j'ai pensé faire la requête suivante avec une jointure entre les 2 tables :
[php]
$sql="select * from categorie,site ";
$sql.="where categorie.num_cat=site.num_cat";
$req=mysql_query($sql);
while($tabres=mysql_fetch_array($req))
{
echo"<h2>".$tabres["nom_cat"]."</h2>";
echo"<ul>";
echo"<li>".$tabres["nom_site"]."</li>";
echo"</ul>";
}
[/php]
Mais il y a un hic. Cela m'affiche en sortie ceci :
[quote]
{nom_cat1}
------------------------------
- {nom_site1}
{nom_cat1}
------------------------------
- {nom_site2}
{nom_cat2}
------------------------------
- {nom_site3}
[/quote]
J'ai donc modifier cette requête mais je pense qu'il en existe une beaucoup plus simple que
celle-ci mais laquelle :
[php]
$sql="select * from categorie";
$req=mysql_query($sql);
while($tabres=mysql_fetch_array($req))
{
$num_cat = $tabres["num_cat"];
$nom_cat = $tabres["nom_cat"];
echo"<h2>".$nom_cat."</h2><ul>";
$sql2="select * from site where num_cat=$num_cat";
$req2=mysql_query($sql2);
while($tabres2=mysql_fetch_array($req2))
echo"<li>".$tabres2["nom_site"]."</li>";
echo"</ul>";
}
[/php]
Merci de votre aide.