en la pagina que muestra los resultados. Debes hacer dos querys una para las categorias y otra por la subcategorias. El primer while itera sobre la primera query la segunda sobre el segundo while.
ejemplo:
Código PHP:
$sql1="select * from categoria";
$res1=mysql_query($sql1);
while ($row1 = mysql_fetch_array($res1))
{$id=$row1['idcategoria']
echo $row1['nombrecategoria'];
$sql2="select * from subcategoria where idcategoria = $id";
$res1=mysql_query($sql2);
while ($row2 = mysql_fetch_array($res2))
{
echo $row2['nombresubcategora'];
}
}
Espero te ayude...
saludos