如何利用PHP製作並匯出PDF報表
網站架設
-
- // Set font
- $pdf->SetFont('Arial','B',16);
- // Move to 8 cm to the right
- $pdf->Cell(80);
- // Centered text in a framed 20*10 mm cell and line break
- $pdf->Cell(20,10,'Title',1,1,'C');
複製代碼
起首可以到FPDF網站下載程式,固然FPDF的網站有教學也值得前去旁觀http://www.fpdf.org/
好啦,將上面的檔案下載之後解緊縮放入網站的資料夾就能夠入手下手囉
真的是一個超利便的對象喔 ^ ^~~
因為FPDF的網站是英文的,因此若要利用中文字,
接下來從瀏覽器旁觀的效果以下圖:
則需要再下載chinese-unicode.rar
test.php
- <?php
- $hostname = "localhost"; //主機名稱
- $database = "test"; //資料庫名稱
- $username = "xxxx"; //資料庫利用者帳號
- $password = "****"; //資料庫利用者暗碼
-
- $test = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
- mysql_select_db("test",$test);
- mysql_query("set names 'utf8'");
-
- ?>
-
複製代碼
Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])
w
Cell width. If 0, the cell extends up to the right margin.
h
Cell height. Default value: 0.
txt
String to print. Default value: empty string.
border
Indicates if borders must be drawn around the cell. The value can be either a number:
0: no border
1: frame
or a string containing some or all of the following characters (in any order):
L: left
T: top
R: right
B: bottom
Default value: 0.
ln
Indicates where the current position should go after the call. Possible values are:
0: to the right
1: to the beginning of the next line
2: below
Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0.
align
Allows to center or align the text. Possible values are:
L or empty string: left align (default value)
C: center
R: right align
fill
Indicates if the cell background must be painted (true) or transparent (false). Default value: false.
link
URL or identifier returned by AddLink().
Example
或直接點選這邊下載fpdf16.zip
report.php
- <?php session_start();
-
- mysql_select_db($database, $test);
-
- //index(首頁)
- $query_index = "SELECT * FROM `flow` WHERE date = CURDATE( ) AND page = 'index'";
- $index = mysql_query($query_index, $test) or die(mysql_error());
- $totalRows_index = mysql_num_rows($index);
- $query_index2 = "SELECT * FROM `flow` WHERE page = 'index'";
- $index2 = mysql_query($query_index2, $test) or die(mysql_error());
- $totalRows_index2 = mysql_num_rows($index2);
-
- //introduce(品牌介紹)
- $query_introduce = "SELECT * FROM `flow` WHERE date = CURDATE( ) AND page = 'introduce'";
- $introduce = mysql_query($query_introduce, $test) or die(mysql_error());
- $totalRows_introduce = mysql_num_rows($introduce);
- $query_introduce2 = "SELECT * FROM `flow` WHERE page = 'introduce'";
- $introduce2 = mysql_query($query_introduce2, $test) or die(mysql_error());
- $totalRows_introduce2 = mysql_num_rows($introduce2);
-
- //......................(其餘頁面寫法同上)
-
- ?>
-
複製代碼
- <?php
- require('chinese-unicode.php'); //匯入方才下載的中文化的FPDF
- require_once('../Connections/test.php'); //匯入貫穿連接資料庫的語法
- require_once('../require/reportSQL.php'); //匯入報表的SQL語法
- $pdf=new PDF_Unicode(); //設立建設PDF_Unicode
- $pdf->Open(); //開啟
- $pdf->AddPage(); //新的一頁
- $pdf->AddUniCNShwFont('uni'); //插足中文
- $pdf->SetFont('uni','',16); //設定字型與字體大小
- //接著將資料放入一維陣列中
- $row0=array('瀏覽頁面','本日人數流量(人)','總人數流量(人)');
- $row1=array('首頁',$totalRows_index,$totalRows_index2);
- $row2=array('品牌介紹',$totalRows_introduce,$totalRows_introduce2);
- $row3=array('經營理念',$totalRows_manage,$totalRows_manage2);
- $row4=array('代理品牌',$totalRows_agent,$totalRows_agent2);
- $row5=array('產品',$totalRows_product,$totalRows_product2);
- $row6=array('通知佈告發佈',$totalRows_publish,$totalRows_publish2);
- $row7=array('活動新訊',$totalRows_activities,$totalRows_activities2);
- $row8=array('素材介紹',$totalRows_material,$totalRows_material2);
- $row9=array('營業據點',$totalRows_place,$totalRows_place2);
- $row10=array('聯系我們',$totalRows_contact,$totalRows_contact2);
-
- //本日人數流量統計
- $today=$totalRows_index+$totalRows_introduce+$totalRows_manage+$totalRows_agent+$totalRows_product+$totalRows_publish+$totalRows_activities+$totalRows_material+$totalRows_place+$totalRows_contact;
- $total=$totalRows_index2+$totalRows_introduce2+$totalRows_manage2+$totalRows_agent2+$totalRows_product2+$totalRows_publish2+$totalRows_activities2+$totalRows_material2+$totalRows_place2+$totalRows_contact2;
- $row11=array('統計',$today,$total);
- //再將資料放入2維陣列中
- $trow=array($row0,$row1,$row2,$row3,$row4,$row5,$row6,$row7,$row8,$row9,$row10,$row11);
-
- //設定表格的寬度
- $w=array(60,65,60);
-
- //迴圈
- for($j=0;$j<count($trow);$j++){
- for($i=0;$i<count($trow[$j]);$i++){
- $pdf->Cell($w[$i],7,$trow[$j][$i],1,0,'C'); //將資料放入表格內
- } $pdf->Ln(); //下一列
- }
- $pdf->Output(); //輸出呈現
- ?>
-
複製代碼
reportSQL.php
來自: