Donc ça ça affiche
article 1
.......page1
aticle 1
.....page2
Je voit pas grand chose à changer. Pour eviter les doublon sur le titre j'aurais fait :
$rqSql = "SELECT Id,Titre,Page,Logiciel FROM article where CodeCat=$Categorie ORDER BY Titre"; //on range dans l'ordre des articles
// Exécution de la requête
$result = mysql_query( $rqSql, $idConnect) or die( "Pour obtenir la liste des articles veuillez sélectionner une catégorie");
$prec=0;
$liste2="<select name='Article' style='font: 10pt arial;'>";
while ( $row = mysql_fetch_array( $result)){
$Id = $row["Id"];
$Titre= $row["Titre"];
$Page= $row["Page"];
if($Id == $tmp)
$image = $Page;
$Logiciel = $row["Logiciel"];
if($prec!=$Titre) //On regarde si on a changé d'article
{ $liste2 .="<optgroup label=\"$Titre\">"; }
$liste2 .= "<option value='$Id'>...............$Page</option>";
if($prec!=$Titre)
{ $liste2 .="</optgroup >"; }
$prec=$Titre; //on change la valeur de l'article precedent pour le prochain tour
}
En fait étant donné que les articles sont dans l'ordre, on a juste à savoir si l'article précédent est le meme que l'actuel, si l'article est le même on ne l'affiche pas autrement on l'affiche.