Lo podrias hacer con ajax para que no recargue la pagina.
Si lo hace con javascript deberias cargar todas las subcategorias en array de javascrip
Si lo haces recargado la pagina seria algo asi
Código PHP:
<?
include("conex.php");
$sqlQueryCat = mysql_query("SELECT * FROM categories ORDER BY ordre ASC")
or die(mysql_error);
while($rowCat = mysql_fetch_array($sqlQueryCat)){
?>
<ul><a href="?cat=<?=$rowCat[cat_ID]?>" \>
<?=$rowCat[catCategoria]?></a></ul>
<?
}
if ( isset( $_GET['cat'] ) && !empty( $_GET['cat'] ) ){
$query = mysql_query("SELECT * FROM sub_categories WHERE id_cat = $rowCat[cat_ID] ") or die(mysql_error);
while($sub_cat = mysql_fetch_array($query)){
echo "<div id='$sub_cat[id_cat]' style=display: none;><ul class='menu_body'>";
echo "---".$sub_cat[nom_subc]."</ul></div>";
}
}
?>
Espero que te sirva