Ну а как вы хотели? На чистом php только так, да и на фреймворке после обработки шаблона запись все равно тоже идет в переменную, как результат выполнения шаблона.
Что вы смеетесь то постоянно? Вам отвечают верно, да ob_start(); это старт записи буфера, а ob_get_contents() это извлечение из буфера, ob_end_clean() - очистка буфера
Максим: Я что-то вас не понимаю. Я ему (@dev400) предложил такой же вариант, но ему не понравилось, что идёт запись в переменную. Вы предложили ему идентичный вариант и ему почему-то понравилось. Вот и объясните мне дураку, чем отличается одно от другого?
Вы написали что класть html в переменную не вариант, я подумал что имеется ввиду что в php писать html странновато, вот и предложил вариант с буфером когда можно положить html в отдельный файл и забрать оттуда через буфер.
Но вообще я не против html в php, если он не большой.
Кстати могу ещё 3 вариант предложить
1) содаете отдельный файл с php
2) в нужном вам месте пишите $html = include('ваш файл')
что опять же вернет в переменную вашу таблицу, тем самым избежав написания html в php
Максим: Я вообще ничего не писал. Посмотрите кто задал вопрос и кто отвечал! Мой ответ ему идентичен вашему, но почему-то он выбрал ваш ответ как решение. В вашем примере запись в переменную ему подходит, а в моём - нет. О_о