Не работает else

Shinbolat

Новичок
Не могу найти ошибку. В моем случай не работает else.
PHP:
function indexAction() {
	$catId = isset($_GET['id']) ? $_GET['id'] : null;
	if(!$catId) exit();
	
	$ChilCats = null;
	$Products = null;
	
	$Category = getCatById($catId);

	if($Category['parent_id'] == 0) {
		$ChilCats = getChildrenForCat($catId);
	}
	else {
		$Products = getProductsByCat($catId);
		}
А вот те самые функций, работает отлично, проверил через print_r:
PHP:
function getProductsByCat($itemId) {
	$result = mysql_query("
	SELECT *
	FROM products
	WHERE category_id = '$itemId';
	"
	);
	return CreateTemplateArray($result);
}

function getChildrenForCat($catId) {
	$result = mysql_query("
	SELECT *
	FROM categories
	WHERE parent_id='$catId'
	");
	return CreateTemplateArray($result);
}
Если parent_id = 0 то работает, а если 1 или будет другой значение, то не работает else.

П. С.Не ругайте, я новичок.
 

Shinbolat

Новичок
Нашел, только не пойму почему. Гуру программисты объясните пожалуйста в чем причина. Написал так все работает отлично:
PHP:
if($Category['parent_id'] == 0) :
		$ChilCats = getChildrenForCat($catId);
	else :
		$Products = getProductsByCat($catId);
	endif;
 

radioheaded

PHP нуб
Я повторю вопрос Gremboloid, мне тоже интересно, как определили, что не работает else? Точнее, что вы под этим подразумеваете?
 

С.

Продвинутый новичок
Теперь перепиши, как было, и убедись, что оно работает.
 
Сверху