1. MySQLのテーブルの内容をExcelの書類として出力するプログラム(myphp15.php)を作成
下記の内容をテキストエディタにコピーし、ファイル名を「myphp15.php」として「C:\xampp\htdocs\test」内に保存します。
*注意 ---「myphp15.php」ファイルの文字コードは「SJIS」を指定して保存してください。
PHPエディタや サクラエディタなど文字コードを指定できるエディタを使うと便利です。
<?php //fpdfフォルダのmbfpdf.phpを読み込む require('fpdf/mbfpdf.php'); //MBFPDFを使用する $pdf=new MBFPDF(); //使用するフォントPMINCHOを宣言 $pdf->AddMBFont(PMINCHO, 'SJIS'); //使用するフォントPGOTHICを宣言 $pdf->AddMBFont(PGOTHIC, 'SJIS'); //PDFを作成する $pdf->Open(); //ページを作成する $pdf->AddPage(); //DBへ接続開始 サーバー名--localhost ユーザー名--root パスワード--"karipass $dbHandle = mysql_connect("localhost","root","karipass") or die("can not connect db\n"); //MySQLのクライアントの文字コードをsjisに設定 mysql_query("SET NAMES sjis") or die("can not SET NAMES sjis"); //db名を指定する $db = "workdb"; //SQL文 tab3表から全行を取り出し、number列の昇順に整列する $sql = "select * from tab3 order by number"; //SQL文を実行する $rs = mysql_db_query($db,$sql); //列数を取得する $num = mysql_num_fields($rs); //フォントMSPゴシック サイズ12を設定する $pdf->SetFont(PGOTHIC,'',12); //tab3表の列数と同じ回数を繰り返す for ($i=0;$i<$num;$i++){ //列長を揃えるために文字の右端に付ける空白の長さを求める $space_rep = mysql_field_len($rs,$i) - strlen(mysql_field_name($rs,$i)); //PDFにMySQLのテーブルの列名を出力する $pdf->Write(10,mysql_field_name($rs,$i) . str_repeat (" ",$space_rep)); } //PDFに改行コードを出力する $pdf->Write(10,"\n"); //PDFに罫線を出力する $pdf->Write(10,str_repeat ("=",40) . "\n"); //フォントPMINCHO サイズ12を設定する $pdf->SetFont(PMINCHO,'',12); //tab3表の行数と同じ回数を繰り返す while($row=mysql_fetch_array($rs)){ //tab3表の列数と同じ回数を繰り返す for($i=0;$i<$num;$i++){ //列長を揃えるために文字の右端に付ける空白の長さを求める $space_rep = mysql_field_len($rs,$i) - strlen($row[$i]); //PDFにMySQLのテーブルの列の内容を出力する $pdf->Write(10,$row[$i]. str_repeat (" ",$space_rep)); } //PDFに改行コードを出力する $pdf->Write(10,"\n"); } //PDFをファイルとして出力する $pdf->Output('test3.pdf'); //PDFをブラウザ画面に出力する $pdf->Output(); //結果レコードをメモリから開放 mysql_free_result($rs); //DBへの接続を切断 mysql_close($dbHandle); ?>続いて、 MySQLのテーブルの内容をPDFの書類として出力するプログラム(myphp15.php)の動作テストをおこないます。