Почему PHP сам решает, что ему выводить первым, а что вторым? Как это ему указать явно?

Хочу вывести подразделы в цикле, разместив их в таблице из трех столбцов
Вот код:
$number_rows = intval($count4/3); //количество подразделов делю на количество столбцов таблицы, что бы знать сколько подразделов выводить в одном столбце талицы

print ""; //открывают талицу
for($j = 0; $j <= 3; $j++) //здесь мы ходим по трем столбцам таблицы
{
print "
    "; //открываю столбец и строку, а также списков в котором будут выводиться подразделов
    for($i = 0; $i <= $number_rows && $myrow4 = mysql_fetch_array($result4); $i++) //тут вывожу в список нужное количество подразделов для текущего столбца таблицы
    printf("
  • ",$myrow4["id"],$myrow4["title"]); //сам вывод подпункта
    print "
"; //закрываю список, строку и столбец
}
print "
";

На выходе в HTML DOMe получаю три списка с подразделами и ниже пустую таблицу из 3 столбцов, по одной строке в каждой...
Просто мистика какая-то... PHP сам решает что выводить первым, а что последним неслушаясь моих явных указаний
Живой пример того, что хочу получить можно поглядеть тут http://soft.softodrom.ru/Программы/?ras=0
Там сверху таблица с подразделами

Руки тебе оторвать за такое!! !
Когда это

    прочие теги
стало таблицей?
прочие теги вот таблица
....
printf("<тег>",$myrow4["id"],$myrow4["title"]);//сам вывод подпункта
сделай лучше
echo "<тег>.$myrow4["id"]." ". $myrow4["title"]."";

на php почти не умею писать, но из приведённого кода мне показалось, что вы таблицу сдалали отдельно от текста, возможно в этом проблемма.
Поясню.
мне кажется, что, фактичеки. данные принадлежат таблице. но отображаются в другом месте (в вашем случчае чуть выше таблицы) . как это исправить - не знаю (как уже говорил выше, в php почти не разбираюсь и не знаю 97% команд и как они взамиодействуют)

З. Ы. Я не на 100% уверен в правдивости моего подозрения)))