par
kweb » 03 oct. 2007, 14:51
Je te remercie pour ton explication qui est très explicite .
Mais, lorsque je test le tout, je reviens au résultat de tout a l'heure, c'est a dire :
Chirurgien
- formation 1
-------------------
Chirurgien
- formation 2
-------------------
Chirurgien
- formation 3
-------------------
Médecin
- formation 4
le code source lié à cette affichage :
$sql=mysql_query("
SELECT
id_categorie, txt_categorie, nom_formation, id_categorie_formation, ville_formation, date_formation
FROM
formation
LEFT JOIN
categorie
ON categorie.id_categorie = formation.id_categorie_formation
ORDER BY
txt_categorie
") or die(mysql_error());
// initilisation de la variable contenant l'identifiant de la catégorie
$id_categorie = 0;
while ($affiche = mysql_fetch_array($sql))
{
// Si l'identifiant est différent de celui mémoriser, c'est qu'on a une nouvelle catégorie
if ($affiche['id_categorie'] != $id_categorie)
{
// affichage info catégorie
echo $affiche['txt_categorie'].' <br /><br /> ';
// On met à jour la variable qui contient l'identifiant de catégorie
$id_categorie == $affiche['id_categorie'];
}
// affichage des infos de la formation
echo ' - '.$affiche['nom_formation'].' - '.$affiche['date_formation'].' - '.$affiche['ville_formation'].'<br />';
}
?>
Une question, la requête "DISTINCT", ne pourrais pas me servir pour n'afficher qu'une fois la catégorie ?
J'ai beaux faire de recherche sur le net, je ne trouve aucun cas similaire ?
Un petit rajout :
n'est il pas possible de partir sur ce que j'avais fais au tout début. c'est a dire que j'arrivais a faire affiché le nom des catégories une seule fois .
$sql = "SELECT DISTINCT c.txt_categorie FROM formation f, categorie c WHERE f.id_categorie_formation = c.id_categorie";
$sql_retour = mysql_query ($sql) or die (mysql_error());
while ($ligne = mysql_fetch_array($sql_retour))
{
// Création d'un tableau
echo '<table width="100%" border="0" cellspacing="1" cellpadding="0">';
echo '<tr>';
echo '<td colspan="5" id="recherche_date">';
// Cellule DATE DE LA FORMATION
echo '<span class="smallredtext">'.$ligne['txt_categorie'].'</span>' ;
echo '</td>';
echo '</tr>';
// CREATION d'une deuxieme Lignes
echo '<tr>';
//Titre des cellules
echo '<td width="20"> </td>';
echo '<td id="descriptif_Titre"><strong>Formation</strong></td>';
echo '<td id="descriptif_Titre"><strong>date</strong></td>';
echo '<td id="descriptif_Titre"><strong>Ville</strong></td>';
echo '<td id="descriptif_Titre"> </td>';
// Fin de la deuxieme Ligne
echo "</tr>";
et essayé de trouvé la suite du code qui me permettrais d'afficher toutes les formations lié au catégories ?
Je te remercie pour ton explication qui est très explicite .
Mais, lorsque je test le tout, je reviens au résultat de tout a l'heure, c'est a dire :
[quote]Chirurgien
- formation 1
-------------------
Chirurgien
- formation 2
-------------------
Chirurgien
- formation 3
-------------------
Médecin
- formation 4 [/quote]
le code source lié à cette affichage :
[php]$sql=mysql_query("
SELECT
id_categorie, txt_categorie, nom_formation, id_categorie_formation, ville_formation, date_formation
FROM
formation
LEFT JOIN
categorie
ON categorie.id_categorie = formation.id_categorie_formation
ORDER BY
txt_categorie
") or die(mysql_error());
// initilisation de la variable contenant l'identifiant de la catégorie
$id_categorie = 0;
while ($affiche = mysql_fetch_array($sql))
{
// Si l'identifiant est différent de celui mémoriser, c'est qu'on a une nouvelle catégorie
if ($affiche['id_categorie'] != $id_categorie)
{
// affichage info catégorie
echo $affiche['txt_categorie'].' <br /><br /> ';
// On met à jour la variable qui contient l'identifiant de catégorie
$id_categorie == $affiche['id_categorie'];
}
// affichage des infos de la formation
echo ' - '.$affiche['nom_formation'].' - '.$affiche['date_formation'].' - '.$affiche['ville_formation'].'<br />';
}
?>[/php]
Une question, la requête "DISTINCT", ne pourrais pas me servir pour n'afficher qu'une fois la catégorie ?
J'ai beaux faire de recherche sur le net, je ne trouve aucun cas similaire ?
|*()
Un petit rajout :
n'est il pas possible de partir sur ce que j'avais fais au tout début. c'est a dire que j'arrivais a faire affiché le nom des catégories une seule fois .
[php]$sql = "SELECT DISTINCT c.txt_categorie FROM formation f, categorie c WHERE f.id_categorie_formation = c.id_categorie";
$sql_retour = mysql_query ($sql) or die (mysql_error());
while ($ligne = mysql_fetch_array($sql_retour))
{
// Création d'un tableau
echo '<table width="100%" border="0" cellspacing="1" cellpadding="0">';
echo '<tr>';
echo '<td colspan="5" id="recherche_date">';
// Cellule DATE DE LA FORMATION
echo '<span class="smallredtext">'.$ligne['txt_categorie'].'</span>' ;
echo '</td>';
echo '</tr>';
// CREATION d'une deuxieme Lignes
echo '<tr>';
//Titre des cellules
echo '<td width="20"> </td>';
echo '<td id="descriptif_Titre"><strong>Formation</strong></td>';
echo '<td id="descriptif_Titre"><strong>date</strong></td>';
echo '<td id="descriptif_Titre"><strong>Ville</strong></td>';
echo '<td id="descriptif_Titre"> </td>';
// Fin de la deuxieme Ligne
echo "</tr>";[/php]
et essayé de trouvé la suite du code qui me permettrais d'afficher toutes les formations lié au catégories ?