Ладно, если так тяжело... Нашел я решение. Просто когда пытаешься вывести mysql_num_rows то он показывает количество строк для каждого прохождения цикла.
$result = mysql_query("SELECT gm_sp.*, gm_sp_hotels.* FROM gm_sp LEFT JOIN gm_sp_hotels ON gm_sp.id = gm_sp_hotels.sp_id WHERE gm_sp.id LIKE \'%$zone%\' AND start_date >= \'$end_date\' AND end_date > \'$last_date\' ORDER BY gm_sp.start_date DESC LIMIT $st,$nstr");
$num = mysql_num_rows($result);
Правда красиво L)))