2019-04 Update Mailversand
Archiv
Auswertung
admin
FCKeditor
anschreiben
anschreiben_kehl
import
livesearch
livesearch2
overlib
prints
#alt
Praxisstellen-Dateien
decoders
doc
filters
font
makefont
tutorial
20k_c1.txt
20k_c2.txt
calligra.afm
calligra.php
calligra.ttf
calligra.z
countries.txt
index.htm
logo.png
logo_pb.png
makefont.php
tuto1.htm
tuto1.php
tuto2.htm
tuto2.php
tuto3.htm
tuto3.php
tuto4.htm
tuto4.php
tuto5.htm
tuto5.php
tuto6.htm
tuto6.php
tuto7.htm
tuto7.php
FPDI-1.6.1.zip
Praxisstellen.doc
Praxisstellen.htm
Zustimmung.doc
as_utf_class.php
class.fpdf_table.php
class.multicelltag.php
class.string_tags.php
composer.json
demo.php
fpdf.css
fpdf.php
fpdf181.zip
fpdf_tpl.php
fpdi.php
fpdi_bridge.php
fpdi_pdf_parser.php
histo.htm
newpdf.pdf
pdf_context.php
pdf_parser.php
pdfdoc.pdf
praxisstellen.pdf
praxisstellen.php
table_def.inc
table_def_kehl.inc
teilnehmer.php
wrapper_functions.php
zustimmung.pdf
zustimmung.php
#anz_anm.php
#bereiche.php
#fehlende_pu.php
#liste_pu.php
#pu_standorte.php
#puzuweisung.php
#sperrzeiten.php
.4
Vorgehensweise.txt
adm_anleg.php
adm_bearb.php
adminrechte.php
adminrechte_del.php
aenderung.php
ag_tage_admin.php
ag_tage_admin_alt.php
ag_tage_admin_neu.php
agzuweisung.php
ajax.js
anmschluss.php
anschreiben.zip
arr.php
ausland_mit_agstandort.php
ausnahme.php
auswertung_anz_teilnehmer.php
bearbeiten.php
bearbeiten_alt.php
bearbeiten_neu.php
ch_attr.php
daten_pruefen_admin.php
datenblatt.php
datenblatt_kehl.php
datenblatt_kehl_alt.php
datenblatt_kehl_neu.php
datenblatt_lubu.php
datenblatt_lubu_alt.php
datenblatt_lubu_neu.php
datenvergleich.php
datenvergleich_alt.php
datenvergleich_erst.php
datenvergleich_neu.php
datenverleich.php
dst_bearb.php
expo_auslandsstellen.php
expo_jahrgangsstatus.php
fehlende_ant.php
fehlende_sozuweisung.php
fehlender_standort.php
fehlender_standort_alt.php
fehlender_standort_neu.php
func_get_vert_block.php
func_mail_att.php
func_printqueue_antrag.php
hauptframe.htm
hauptframe_jahr.php
historie.php
historie_alt.php
historie_neu.php
index.php
jahrgang.php
jahrgangsstatus.php
jahrgangsstatus_verkuerzt.php
jquery-1.9.1.js
kennwortwechsel_admin.php
liste_w.php
livesearch2.php
livesearch_dst.php
livesearch_stud.php
login_log.php
logout_admin.php
mail.php
mail_zusage.php
menuframe.php
offene_aendant.php
offene_beurteilung.php
offene_erstant.php
pdf_gen.php
pdf_gen_alt.php
pdf_gen_ges_akte.php
pdf_gen_ges_kehl.php
pdf_gen_ges_lubu.php
pdf_gen_ges_mail.php
pdf_gen_kehl.php
pdf_gen_kehl_alt.php
pdf_gen_kehl_neu.php
pdf_gen_mail.php
pdf_gen_mail_einzel.php
pdf_gen_neu.php
pdf_gen_so_zuw.php
pdf_gen_so_zuw_alt.php
pdf_gen_so_zuw_neu.php
praxisstellen_admin.php
praxisstellen_admin_alt.php
sozuweisung.php
sozuweisung_alt.php
sozuweisung_neu.php
stan_admin_anleg.php
stan_admin_bearb.php
stan_admin_del.php
stan_useronline.php
standort_erfassen.php
standorte_2014.php
stelle_in_bw_mit_ag_standort_ausserhalb_bw.php
stud_bearb.php
test.php
test1.php
topframe.htm
ungestellte_ant.php
vert_bereich.php
zuweisung_mail.php
balance_img
fancybox
images
js
mail
standort
stud
#pdf_gen.php
#pdf_gen_alt.php
#pdf_gen_ges_lubu.php
#pdf_gen_kehl.php
#pdf_gen_kehl_alt.php
#pdf_gen_kehl_neu.php
#pdf_gen_neu.php
++ Printqueue zurücksetzen.txt.lnk
.gitignore
Auswertung_besuchte Stellen der Studs - alle Jahrgänge.sql
Auswertung_besuchte Stellen der Studs.sql
Pflicht.sql
Trigger.sql
VIEW_stan_zuw_so.sql
VIEW_stan_zuw_so_neu.sql
anz_anm.php
bearbeiten_neu.php
historie.php
historie_alt.php
historie_neu.php
index.php
index_db.php
index_ldap.php
ldap_info.php
ldap_info_hsnet.php
login.css
menuframe.php
styles_pc.css
test.html
umzugsverguetung.sql
135 lines
12 KiB
HTML
Executable File
135 lines
12 KiB
HTML
Executable File
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
<title>Tables</title>
|
|
<link type="text/css" rel="stylesheet" href="../fpdf.css">
|
|
</head>
|
|
<body>
|
|
<h1>Tables</h1>
|
|
This tutorial shows different ways to make tables.
|
|
<div class="source">
|
|
<pre><code><?php
|
|
<span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
|
|
|
|
class </span>PDF <span class="kw">extends </span>FPDF
|
|
<span class="kw">{
|
|
</span><span class="cmt">// Load data
|
|
</span><span class="kw">function </span>LoadData<span class="kw">(</span>$file<span class="kw">)
|
|
{
|
|
</span><span class="cmt">// Read file lines
|
|
</span>$lines <span class="kw">= </span>file<span class="kw">(</span>$file<span class="kw">);
|
|
</span>$data <span class="kw">= array();
|
|
foreach(</span>$lines <span class="kw">as </span>$line<span class="kw">)
|
|
</span>$data<span class="kw">[] = </span>explode<span class="kw">(</span><span class="str">';'</span><span class="kw">,</span>trim<span class="kw">(</span>$line<span class="kw">));
|
|
return </span>$data<span class="kw">;
|
|
}
|
|
|
|
</span><span class="cmt">// Simple table
|
|
</span><span class="kw">function </span>BasicTable<span class="kw">(</span>$header<span class="kw">, </span>$data<span class="kw">)
|
|
{
|
|
</span><span class="cmt">// Header
|
|
</span><span class="kw">foreach(</span>$header <span class="kw">as </span>$col<span class="kw">)
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>40<span class="kw">,</span>7<span class="kw">,</span>$col<span class="kw">,</span>1<span class="kw">);
|
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
|
</span><span class="cmt">// Data
|
|
</span><span class="kw">foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
|
{
|
|
foreach(</span>$row <span class="kw">as </span>$col<span class="kw">)
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>40<span class="kw">,</span>6<span class="kw">,</span>$col<span class="kw">,</span>1<span class="kw">);
|
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
|
}
|
|
}
|
|
|
|
</span><span class="cmt">// Better table
|
|
</span><span class="kw">function </span>ImprovedTable<span class="kw">(</span>$header<span class="kw">, </span>$data<span class="kw">)
|
|
{
|
|
</span><span class="cmt">// Column widths
|
|
</span>$w <span class="kw">= array(</span>40<span class="kw">, </span>35<span class="kw">, </span>40<span class="kw">, </span>45<span class="kw">);
|
|
</span><span class="cmt">// Header
|
|
</span><span class="kw">for(</span>$i<span class="kw">=</span>0<span class="kw">;</span>$i<span class="kw"><</span>count<span class="kw">(</span>$header<span class="kw">);</span>$i<span class="kw">++)
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>$i<span class="kw">],</span>7<span class="kw">,</span>$header<span class="kw">[</span>$i<span class="kw">],</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
|
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
|
</span><span class="cmt">// Data
|
|
</span><span class="kw">foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
|
{
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>0<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>0<span class="kw">],</span><span class="str">'LR'</span><span class="kw">);
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>1<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>1<span class="kw">],</span><span class="str">'LR'</span><span class="kw">);
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>2<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>2<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">);
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>3<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>3<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">);
|
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
|
}
|
|
</span><span class="cmt">// Closing line
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>array_sum<span class="kw">(</span>$w<span class="kw">),</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'T'</span><span class="kw">);
|
|
}
|
|
|
|
</span><span class="cmt">// Colored table
|
|
</span><span class="kw">function </span>FancyTable<span class="kw">(</span>$header<span class="kw">, </span>$data<span class="kw">)
|
|
{
|
|
</span><span class="cmt">// Colors, line width and bold font
|
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>255<span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">);
|
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>255<span class="kw">);
|
|
</span>$<span class="kw">this-></span>SetDrawColor<span class="kw">(</span>128<span class="kw">,</span>0<span class="kw">,</span>0<span class="kw">);
|
|
</span>$<span class="kw">this-></span>SetLineWidth<span class="kw">(</span>.3<span class="kw">);
|
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">);
|
|
</span><span class="cmt">// Header
|
|
</span>$w <span class="kw">= array(</span>40<span class="kw">, </span>35<span class="kw">, </span>40<span class="kw">, </span>45<span class="kw">);
|
|
for(</span>$i<span class="kw">=</span>0<span class="kw">;</span>$i<span class="kw"><</span>count<span class="kw">(</span>$header<span class="kw">);</span>$i<span class="kw">++)
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>$i<span class="kw">],</span>7<span class="kw">,</span>$header<span class="kw">[</span>$i<span class="kw">],</span>1<span class="kw">,</span>0<span class="kw">,</span><span class="str">'C'</span><span class="kw">,</span>true<span class="kw">);
|
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
|
</span><span class="cmt">// Color and font restoration
|
|
</span>$<span class="kw">this-></span>SetFillColor<span class="kw">(</span>224<span class="kw">,</span>235<span class="kw">,</span>255<span class="kw">);
|
|
</span>$<span class="kw">this-></span>SetTextColor<span class="kw">(</span>0<span class="kw">);
|
|
</span>$<span class="kw">this-></span>SetFont<span class="kw">(</span><span class="str">''</span><span class="kw">);
|
|
</span><span class="cmt">// Data
|
|
</span>$fill <span class="kw">= </span>false<span class="kw">;
|
|
foreach(</span>$data <span class="kw">as </span>$row<span class="kw">)
|
|
{
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>0<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>0<span class="kw">],</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>$fill<span class="kw">);
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>1<span class="kw">],</span>6<span class="kw">,</span>$row<span class="kw">[</span>1<span class="kw">],</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'L'</span><span class="kw">,</span>$fill<span class="kw">);
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>2<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>2<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">,</span>$fill<span class="kw">);
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>$w<span class="kw">[</span>3<span class="kw">],</span>6<span class="kw">,</span>number_format<span class="kw">(</span>$row<span class="kw">[</span>3<span class="kw">]),</span><span class="str">'LR'</span><span class="kw">,</span>0<span class="kw">,</span><span class="str">'R'</span><span class="kw">,</span>$fill<span class="kw">);
|
|
</span>$<span class="kw">this-></span>Ln<span class="kw">();
|
|
</span>$fill <span class="kw">= !</span>$fill<span class="kw">;
|
|
}
|
|
</span><span class="cmt">// Closing line
|
|
</span>$<span class="kw">this-></span>Cell<span class="kw">(</span>array_sum<span class="kw">(</span>$w<span class="kw">),</span>0<span class="kw">,</span><span class="str">''</span><span class="kw">,</span><span class="str">'T'</span><span class="kw">);
|
|
}
|
|
}
|
|
|
|
</span>$pdf <span class="kw">= new </span>PDF<span class="kw">();
|
|
</span><span class="cmt">// Column headings
|
|
</span>$header <span class="kw">= array(</span><span class="str">'Country'</span><span class="kw">, </span><span class="str">'Capital'</span><span class="kw">, </span><span class="str">'Area (sq km)'</span><span class="kw">, </span><span class="str">'Pop. (thousands)'</span><span class="kw">);
|
|
</span><span class="cmt">// Data loading
|
|
</span>$data <span class="kw">= </span>$pdf<span class="kw">-></span>LoadData<span class="kw">(</span><span class="str">'countries.txt'</span><span class="kw">);
|
|
</span>$pdf<span class="kw">-></span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">''</span><span class="kw">,</span>14<span class="kw">);
|
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
|
</span>$pdf<span class="kw">-></span>BasicTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">);
|
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
|
</span>$pdf<span class="kw">-></span>ImprovedTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">);
|
|
</span>$pdf<span class="kw">-></span>AddPage<span class="kw">();
|
|
</span>$pdf<span class="kw">-></span>FancyTable<span class="kw">(</span>$header<span class="kw">,</span>$data<span class="kw">);
|
|
</span>$pdf<span class="kw">-></span>Output<span class="kw">();
|
|
</span>?></code></pre>
|
|
</div>
|
|
<p class='demo'><a href='tuto5.php' target='_blank' class='demo'>[Demo]</a></p>
|
|
A table being just a collection of cells, it's natural to build one from them. The first
|
|
example is achieved in the most basic way possible: simple framed cells, all of the same size
|
|
and left aligned. The result is rudimentary but very quick to obtain.
|
|
<br>
|
|
<br>
|
|
The second table brings some improvements: each column has its own width, headings are centered,
|
|
and numbers right aligned. Moreover, horizontal lines have been removed. This is done by means
|
|
of the <code>border</code> parameter of the <a href='../doc/cell.htm'>Cell()</a> method, which specifies which sides of the
|
|
cell must be drawn. Here we want the left (<code>L</code>) and right (<code>R</code>) ones. It remains
|
|
the problem of the horizontal line to finish the table. There are two possibilities: either
|
|
check for the last line in the loop, in which case we use <code>LRB</code> for the <code>border</code>
|
|
parameter; or, as done here, add the line once the loop is over.
|
|
<br>
|
|
<br>
|
|
The third table is similar to the second one but uses colors. Fill, text and line colors are
|
|
simply specified. Alternate coloring for rows is obtained by using alternatively transparent
|
|
and filled cells.
|
|
</body>
|
|
</html>
|