You are printing outside the foreach loop.
Try this,
PHP Code:
<?php
$child = getChild();
echo "\n<ul>\n" ;
foreach ($child as $childcat) {
$cat_id = $childcat['cat_id'];
$cat_name = $childcat['cat_name'];
$url = $_SERVER['PHP_SELF'] . "?c=$cat_id";
echo "<li><a href=\"" . $_SERVER['PHP_SELF'] . "?c=$cat_id" . "\">$cat_name</a></li>\n";
}
echo "</ul>" ;
?>