[ Index ]
 

Code source de eGroupWare 1.2.106-2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/phpgwapi/inc/fpdf/tutorial/ -> tuto5.htm (source)

   1  <HTML>
   2  <HEAD>
   3  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
   4  <TITLE>Tables</TITLE>
   5  <LINK TYPE="text/css" REL="stylesheet" HREF="../fpdf.css">
   6  </HEAD>
   7  <BODY>
   8  <H2>Tables</H2>
   9  This tutorial shows how to make tables easily.
  10  <BR>
  11  <BR>
  12  <TABLE WIDTH="100%" STYLE="color:#4040C0; border-style:ridge" BORDERCOLORLIGHT="#B0B0E0" BORDERCOLORDARK="#000000" BORDER="2" CELLPADDING=6 CELLSPACING=0 BGCOLOR="#F0F5FF"><TR><TD style="border-width:0px">
  13  <NOBR><code><font color="#000000">
  14  &lt;?php<br>define<font class="kw">(</font><font class="str">'FPDF_FONTPATH'</font><font class="kw">,</font><font class="str">'font/'</font><font class="kw">);<br>require(</font><font class="str">'fpdf.php'</font><font class="kw">);<br><br>class </font>PDF <font class="kw">extends </font>FPDF<br><font class="kw">{<br></font><font class="cmt">//Load data<br></font><font class="kw">function </font>LoadData<font class="kw">(</font>$file<font class="kw">)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Read file lines<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$lines<font class="kw">=</font>file<font class="kw">(</font>$file<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$data<font class="kw">=array();<br>&nbsp;&nbsp;&nbsp;&nbsp;foreach(</font>$lines <font class="kw">as </font>$line<font class="kw">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$data<font class="kw">[]=</font>explode<font class="kw">(</font><font class="str">';'</font><font class="kw">,</font>chop<font class="kw">(</font>$line<font class="kw">));<br>&nbsp;&nbsp;&nbsp;&nbsp;return </font>$data<font class="kw">;<br>}<br><br></font><font class="cmt">//Simple table<br></font><font class="kw">function </font>BasicTable<font class="kw">(</font>$header<font class="kw">,</font>$data<font class="kw">)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Header<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="kw">foreach(</font>$header <font class="kw">as </font>$col<font class="kw">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>40<font class="kw">,</font>7<font class="kw">,</font>$col<font class="kw">,</font>1<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Ln<font class="kw">();<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Data<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="kw">foreach(</font>$data <font class="kw">as </font>$row<font class="kw">)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach(</font>$row <font class="kw">as </font>$col<font class="kw">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>40<font class="kw">,</font>6<font class="kw">,</font>$col<font class="kw">,</font>1<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Ln<font class="kw">();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br></font><font class="cmt">//Better table<br></font><font class="kw">function </font>ImprovedTable<font class="kw">(</font>$header<font class="kw">,</font>$data<font class="kw">)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Column widths<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$w<font class="kw">=array(</font>40<font class="kw">,</font>35<font class="kw">,</font>40<font class="kw">,</font>45<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Header<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="kw">for(</font>$i<font class="kw">=</font>0<font class="kw">;</font>$i<font class="kw">&lt;</font>count<font class="kw">(</font>$header<font class="kw">);</font>$i<font class="kw">++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>$i<font class="kw">],</font>7<font class="kw">,</font>$header<font class="kw">[</font>$i<font class="kw">],</font>1<font class="kw">,</font>0<font class="kw">,</font><font class="str">'C'</font><font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Ln<font class="kw">();<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Data<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="kw">foreach(</font>$data <font class="kw">as </font>$row<font class="kw">)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>0<font class="kw">],</font>6<font class="kw">,</font>$row<font class="kw">[</font>0<font class="kw">],</font><font class="str">'LR'</font><font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>1<font class="kw">],</font>6<font class="kw">,</font>$row<font class="kw">[</font>1<font class="kw">],</font><font class="str">'LR'</font><font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>2<font class="kw">],</font>6<font class="kw">,</font>number_format<font class="kw">(</font>$row<font class="kw">[</font>2<font class="kw">]),</font><font class="str">'LR'</font><font class="kw">,</font>0<font class="kw">,</font><font class="str">'R'</font><font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>3<font class="kw">],</font>6<font class="kw">,</font>number_format<font class="kw">(</font>$row<font class="kw">[</font>3<font class="kw">]),</font><font class="str">'LR'</font><font class="kw">,</font>0<font class="kw">,</font><font class="str">'R'</font><font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Ln<font class="kw">();<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Closure line<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>array_sum<font class="kw">(</font>$w<font class="kw">),</font>0<font class="kw">,</font><font class="str">''</font><font class="kw">,</font><font class="str">'T'</font><font class="kw">);<br>}<br><br></font><font class="cmt">//Colored table<br></font><font class="kw">function </font>FancyTable<font class="kw">(</font>$header<font class="kw">,</font>$data<font class="kw">)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Colors, line width and bold font<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetFillColor<font class="kw">(</font>255<font class="kw">,</font>0<font class="kw">,</font>0<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetTextColor<font class="kw">(</font>255<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetDrawColor<font class="kw">(</font>128<font class="kw">,</font>0<font class="kw">,</font>0<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetLineWidth<font class="kw">(</font>.3<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetFont<font class="kw">(</font><font class="str">''</font><font class="kw">,</font><font class="str">'B'</font><font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Header<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$w<font class="kw">=array(</font>40<font class="kw">,</font>35<font class="kw">,</font>40<font class="kw">,</font>45<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;for(</font>$i<font class="kw">=</font>0<font class="kw">;</font>$i<font class="kw">&lt;</font>count<font class="kw">(</font>$header<font class="kw">);</font>$i<font class="kw">++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>$i<font class="kw">],</font>7<font class="kw">,</font>$header<font class="kw">[</font>$i<font class="kw">],</font>1<font class="kw">,</font>0<font class="kw">,</font><font class="str">'C'</font><font class="kw">,</font>1<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Ln<font class="kw">();<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Color and font restoration<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetFillColor<font class="kw">(</font>224<font class="kw">,</font>235<font class="kw">,</font>255<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetTextColor<font class="kw">(</font>0<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>SetFont<font class="kw">(</font><font class="str">''</font><font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="cmt">//Data<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$fill<font class="kw">=</font>0<font class="kw">;<br>&nbsp;&nbsp;&nbsp;&nbsp;foreach(</font>$data <font class="kw">as </font>$row<font class="kw">)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>0<font class="kw">],</font>6<font class="kw">,</font>$row<font class="kw">[</font>0<font class="kw">],</font><font class="str">'LR'</font><font class="kw">,</font>0<font class="kw">,</font><font class="str">'L'</font><font class="kw">,</font>$fill<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>1<font class="kw">],</font>6<font class="kw">,</font>$row<font class="kw">[</font>1<font class="kw">],</font><font class="str">'LR'</font><font class="kw">,</font>0<font class="kw">,</font><font class="str">'L'</font><font class="kw">,</font>$fill<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>2<font class="kw">],</font>6<font class="kw">,</font>number_format<font class="kw">(</font>$row<font class="kw">[</font>2<font class="kw">]),</font><font class="str">'LR'</font><font class="kw">,</font>0<font class="kw">,</font><font class="str">'R'</font><font class="kw">,</font>$fill<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>$w<font class="kw">[</font>3<font class="kw">],</font>6<font class="kw">,</font>number_format<font class="kw">(</font>$row<font class="kw">[</font>3<font class="kw">]),</font><font class="str">'LR'</font><font class="kw">,</font>0<font class="kw">,</font><font class="str">'R'</font><font class="kw">,</font>$fill<font class="kw">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Ln<font class="kw">();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>$fill<font class="kw">=!</font>$fill<font class="kw">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</font>$<font class="kw">this-&gt;</font>Cell<font class="kw">(</font>array_sum<font class="kw">(</font>$w<font class="kw">),</font>0<font class="kw">,</font><font class="str">''</font><font class="kw">,</font><font class="str">'T'</font><font class="kw">);<br>}<br>}<br><br></font>$pdf<font class="kw">=new </font>PDF<font class="kw">();<br></font><font class="cmt">//Column titles<br></font>$header<font class="kw">=array(</font><font class="str">'Country'</font><font class="kw">,</font><font class="str">'Capital'</font><font class="kw">,</font><font class="str">'Area (sq km)'</font><font class="kw">,</font><font class="str">'Pop. (thousands)'</font><font class="kw">);<br></font><font class="cmt">//Data loading<br></font>$data<font class="kw">=</font>$pdf<font class="kw">-&gt;</font>LoadData<font class="kw">(</font><font class="str">'countries.txt'</font><font class="kw">);<br></font>$pdf<font class="kw">-&gt;</font>SetFont<font class="kw">(</font><font class="str">'Arial'</font><font class="kw">,</font><font class="str">''</font><font class="kw">,</font>14<font class="kw">);<br></font>$pdf<font class="kw">-&gt;</font>AddPage<font class="kw">();<br></font>$pdf<font class="kw">-&gt;</font>BasicTable<font class="kw">(</font>$header<font class="kw">,</font>$data<font class="kw">);<br></font>$pdf<font class="kw">-&gt;</font>AddPage<font class="kw">();<br></font>$pdf<font class="kw">-&gt;</font>ImprovedTable<font class="kw">(</font>$header<font class="kw">,</font>$data<font class="kw">);<br></font>$pdf<font class="kw">-&gt;</font>AddPage<font class="kw">();<br></font>$pdf<font class="kw">-&gt;</font>FancyTable<font class="kw">(</font>$header<font class="kw">,</font>$data<font class="kw">);<br></font>$pdf<font class="kw">-&gt;</font>Output<font class="kw">();<br></font>?&gt;
  15  </font>
  16  </code></NOBR></TD></TR></TABLE><P></P>
  17  <SCRIPT>
  18  <!--
  19  if(document.location.href.indexOf('http:')==0)
  20  {
  21  document.write("<P CLASS='demo'><A HREF='tuto5.php' TARGET='_blank' CLASS='demo'>[Demo]</A></P>");
  22  }
  23  //-->
  24  </SCRIPT>
  25  A table being just a collection of cells, it is natural to build one from them. The first
  26  example is achieved in the most basic way possible: simple framed cells, all of the same size
  27  and left aligned. The result is rudimentary but very quick to obtain.
  28  <BR>
  29  <BR>
  30  The second table brings some improvements: each column has its own width, titles are centered
  31  and figures right aligned. Moreover, horizontal lines have been removed. This is done by means
  32  of the <TT>border</TT> parameter of the <A HREF='../doc/cell.htm'>Cell()</A> method, which specifies which sides of the
  33  cell must be drawn. Here we want the left (<TT>L</TT>) and right (<TT>R</TT>) ones. It remains
  34  the problem of the horizontal line to finish the table. There are two possibilities: either
  35  check for the last line in the loop, in which case we use <TT>LRB</TT> for the <TT>border</TT>
  36  parameter; or, as done here, add the line once the loop is over.
  37  <BR>
  38  <BR>
  39  The third table is similar to the second one but uses colors. Fill, text and line colors are
  40  simply specified. Alternate coloring for rows is obtained by using alternatively transparent
  41  and filled cells.
  42  </BODY>
  43  </HTML>


Généré le : Sun Feb 25 17:20:01 2007 par Balluche grâce à PHPXref 0.7