データベース/MySQL、PostgreSQL、SQLite

MySQLのテーブルをPDF書類として出力(2ページ目)

MySQLのテーブルの内容をMBFPDFを使用してPDF書類として出力するプログラムを紹介します。

執筆者:堀江 美彦

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)の動作テストをおこないます。
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます