Si on reprend ton code php, le mieux serait en fait de sélectionner l'élément qui a été choisi par l'utilisateur. C'est mieux pour l'utilisateur, et ça permettra d'activer le "onchange" si on veut revenir à "TOUT".
FORM ACTION="" METHOD=POST name="choix_categorie">
<SELECT name="liste_cat" onChange="tri(this.options[this.selectedIndex].value)">
<?
if (isset($_GET["obj_cat"]))
{
$obj_cat = $_GET["obj_cat"];
$selected = "";
}
else
{
$obj_cat = "";
$selected = "selected";
}
echo "<OPTION value=\"#all\" $selected >Toutes</OPTION>";
WHILE($res_cat!=$j){
$cat= mysql_result($req_cat,$j,"obj_cat");
if ($cat == $obj_cat)
{
$selected = "selected";
}
else
{
$selected = "";
}
echo "<OPTION VALUE=\"".$cat."\" $selected >".$cat."</OPTION>";
$j++;
}
?>
</SELECT>
</FORM>Voilà, le principe est donc de sélectionner uniquement l'élément qui a été sélectionné par l'utilisateur (si existant), et l'élément par défaut sinon.


