İki defa yazar çünkü ikinci while döngünde GET ile id alıp işlem yapıyosun, oysa
$katid=$_GET[katid]; kısmını
$katid=$id; demen lazım .. Ayırca kodların çok düzensiz

..
$topkat=mysql_num_rows($katagoriler); kodunu ilk while'ın üstüne yaz, döngü her dönüşünde çalışmasın .. Neden iki tane baglan.php include ettiğini anlamadım ..