Inte för att jag har någon koll på PHP, men ditt upplägg med 21 variabler för att räkna inlägg i kategorier är lite tokigt. Vad du egentligen borde använda är en map (sk associative array). $row nedan ser ut att vara en sådan och den kan du ju redan jobba med så det borde inte vara några konstigheter.
Efter lite phpsyntaxgooglande borde det funka ungefär såhär applicerat på ditt exempel:
$numkat = array();
while($row = mysql_fetch_array($result)) {
$kats = explode(',',$row[kat]);
foreach ($kats as $value) {
if (!isset($numkat[$value])) {
$numkat[$value] = 0;
}
$numkat[$value] +=1;
}
}
efter den snurran har du alltså en "array" med alla kategoriers inläggsantal. Skulle du lägga till ytterligare kategorier behöver du inte ändra någon kod. Du kommer åt inläggsantalet för en kategori med
$numkat[$namnEllerIdEllerVadNuValueVarOvan]
alltså på samma vis som du använder $row[kat] i ditt eget exempel.
...och jag kan inget om PHP så eventuella följdfrågor kan jag nog inte svara på. Bara googla. Och det kan du också. Hoppas jag petat dig i rätt riktning.