Je débute en SQL et je bloque un peu sur mon projet en cours.
Je construis un espace d'administration ou je peux enregistrer des secteurs d'activité et des métiers.
Chaque métier peux être dans plusieurs secteurs d'activité et chaque secteur d'activité comporte plusieurs métiers (très logique normalement)
Mes tables sont construites comme cela :
Table activites
ID_activite
NOM_activite
Code : Tout sélectionner
CREATE TABLE `activites` (
`id_activite` int(10) unsigned NOT NULL auto_increment,
`nom_activite` varchar(255) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id_activite`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;ID_metier
NOM_metier
Code : Tout sélectionner
CREATE TABLE `metiers` (
`id_metier` int(10) unsigned NOT NULL auto_increment,
`nom_metier` varchar(255) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id_metier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ID_relation
ID_activite
ID_metier
Code : Tout sélectionner
CREATE TABLE `rel_activites_metiers` (
`id_activite_metier` int(10) unsigned NOT NULL auto_increment,
`id_activite` int(10) unsigned NOT NULL,
`id_metier` int(10) unsigned NOT NULL,
PRIMARY KEY (`id_activite_metier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;Je ne comprends pas la logique de cette requete car je souhaiterai afficher mes résultats de cette façon :
Nom de l'activité
--Métier dans cette activité
--Métier dans cette activité
--Métier dans cette activité
Nom de l'activité
--Métier dans cette activité
--Métier dans cette activité
Nom de l'activité
--Métier dans cette activité
Voici mon code PHP entourant la requette pour une meilleure compréhension :
Code : Tout sélectionner
$req_activite = "SELECT * FROM activites";
$res_activite = mysql_query($req_activite) or die(mysql_error());
while($row_activite = mysql_fetch_array($res_activite)) {
echo ("<h3>".$row_activite['nom_activite']."</h3>");
$req_metier = "_________?????_________";
$res_metier = mysql_query($req_metier) or die(mysql_error());
while($row_metier = mysql_fetch_array($res_metier)) {
echo ("<p>".$row_metier['nom_metier']."</p>");
}
}
Merci par avance de me mettre sur la piste.
Je travail avec MySQL 5.0.51b[/b]