$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());
Il faut maintenant que je me penche sur les "conditions" pour que je puisse faire un affichage comme je le souhaite.
Voici comment j'exposerais le problème:Chirurgien
- formation 1
- formation 2
- formation 3
-------------------
Médecin
- formation 4
Code : Tout sélectionner
array( id_categorie1 => array(id_formation1 => id_formation1, id_formation2 => id_formation2)
id_categorie2 => array(id_formation4 => id_formation4)
)
<?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;
?><table><?php
while ($affiche = mysql_fetch_array($sql, MYSQL_ASSOC))
{
// 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)
{
?><tr><td colspan="2"><?php
echo htmlentities($affiche['txt_categorie']);
$id_categorie = $affiche['id_categorie'];
?></td></tr><?php
}
// affichage des infos de la formation
?><tr><td width="20px"></td><td><?php
echo htmlentities(' - '.$affiche['nom_formation'].' - '.$affiche['date_formation'].' - '.$affiche['ville_formation']);
?></td></tr><?php
}
?></table>
En modifiant, ça devrait te convenir. Si tu ne l'indiques pas, par défaut mysql_fetch_array fonctionne en mode BOTH, MYSQL_NUM + MYSQL_ASSOC et dans ton cas tu n'utilises que l'accès associatif au tableau. Tu aurais pu directement utiliser la fonction mysql_fetch_assoc...Une petite question: pourrais tu m'expliquer pourquoi tu a ajouter "MYSQL_ASSOC" ?
// pour plus d'explication clique sur le lien ci-dessous, c'est la doc ;)
mysql_fetch_array(...)