Ну, это довольно общий вопрос, но я возьму хотя бы часть PDF и предложу следующий класс PHP: http://www.tcpdf.org
Этот класс работает без включения расширения pdf на вашем сервере, что является огромным преимуществом. Но помимо этого, он также поддерживает простой HTML, включая тег 'table'. Если вы знаете HTML, вы можете создавать простые PDF-файлы на основе этих знаний.
После того, как вы получили данные из своей базы данных, вам нужно просто собрать строку HTML:
$html = '<table>';
foreach ($results as $student) {
$html .= '<tr><td>'.$student->name.'</td></tr>';
}
$html .= '</table>';
$tcpdf->writeHtml($html);
...так далее.
Полноценный пример метода writeHtml можно найти здесь: http://www.tecnick.com/pagefiles/tcpdf/example_006.phps
То, как вы извлекаете данные, очень сильно зависит от вашего проекта.