<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<title>CodeIgniter User Guide : HTML Table Class</title>

<link rel='stylesheet' type='text/css' media='all' href='http://codeigniter.com/user_guide/userguide.css' />

<script type="text/javascript" src="http://codeigniter.com/user_guide/nav/nav.js"></script>
<script type="text/javascript" src="http://codeigniter.com/user_guide/nav/prototype.lite.js"></script>
<script type="text/javascript" src="http://codeigniter.com/user_guide/nav/moo.fx.js"></script>
<script type="text/javascript" src="http://codeigniter.com/user_guide/nav/user_guide_menu.js"></script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="http://codeigniter.com/user_guide/images/nav_toggle.jpg" width="153" height="44" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>CodeIgniter User Guide Version 2.0.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
HTML Table Class
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>HTML Table Class</h1>

<p>The Table Class provides functions that enable you to auto-generate HTML tables from arrays or database result sets.</p>

<h2>Initializing the Class</h2>

<p>Like most other classes in CodeIgniter, the Table class is initialized in your controller using the <dfn>$this->load->library</dfn> function:</p>

<code>$this->load->library('table');</code>
<p>Once loaded, the Table library object will be available using: <dfn>$this->table</dfn></p>


<h2>Examples</h2>

<p>Here is an example showing how you can create a table from a multi-dimensional array.
Note that the first array index will become the table heading (or you can set your own headings using the
<dfn>set_heading()</dfn> function described in the function reference below).</p>

<code>
$this->load->library('table');<br />
<br />
$data = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('Name', 'Color', 'Size'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('Fred', 'Blue', 'Small'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('Mary', 'Red', 'Large'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('John', 'Green', 'Medium')	<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<br />
echo $this->table->generate($data);
</code>

<p>Here is an example of a table created from a database query result. The table class will automatically generate the
headings based on the table names (or you can set your own headings using the <dfn>set_heading()</dfn> function described
in the function reference below).</p>

<code>
$this->load->library('table');<br />
<br />
$query = $this->db->query("SELECT * FROM my_table");<br />
<br />
echo $this->table->generate($query);
</code>


<p>Here is an example showing how you might create a table using discrete parameters:</p>

<code>
$this->load->library('table');<br />
<br />
$this->table->set_heading('Name', 'Color', 'Size');<br />
<br />
$this->table->add_row('Fred', 'Blue', 'Small');<br />
$this->table->add_row('Mary', 'Red', 'Large');<br />
$this->table->add_row('John', 'Green', 'Medium');<br />
<br />
echo $this->table->generate();
</code>

<p>Here is the same example, except instead of individual parameters, arrays are used:</p>

<code>
$this->load->library('table');<br />
<br />
$this->table->set_heading(array('Name', 'Color', 'Size'));<br />
<br />
$this->table->add_row(array('Fred', 'Blue', 'Small'));<br />
$this->table->add_row(array('Mary', 'Red', 'Large'));<br />
$this->table->add_row(array('John', 'Green', 'Medium'));<br />
<br />
echo $this->table->generate();
</code>


<h2>Changing the Look of Your Table</h2>

<p>The Table Class permits you to set a table template with which you can specify the design of your layout.  Here is the template
prototype:</p>

<code>
$tmpl =  array (<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'table_open'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;table border="0" cellpadding="4" cellspacing="0">',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_row_start'&nbsp;&nbsp;&nbsp;=> '&lt;tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_row_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_cell_start'&nbsp;&nbsp;=> '&lt;th>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_cell_end'&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/th>',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;td>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/td>',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_alt_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_alt_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_alt_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;td>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_alt_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/td>',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'table_close'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/table>'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

<br />
$this->table->set_template($tmpl);
</code>

<p class="important"><strong>Note:</strong>&nbsp; You'll notice there are two sets of "row" blocks in the template.  These permit you to create alternating row colors or design elements that alternate with each
iteration of the row data.</p>

<p>You are NOT required to submit a complete template.  If you only need to change parts of the layout you can simply submit those elements.
In this example, only the table opening tag is being changed:</p>

<code>
$tmpl =  array ( 'table_open'&nbsp;&nbsp;=> '&lt;table border="1" cellpadding="2" cellspacing="1" class="mytable">' );<br />

<br />
$this->table->set_template($tmpl);
</code>

<br />
<h1>Function Reference</h1>

<h2>$this->table->generate()</h2>
<p>Returns a string containing the generated table.  Accepts an optional parameter which can be an array or a database result object.</p>

<h2>$this->table->set_caption()</h2>

<p>Permits you to add a caption to the table.</p>

<code>$this->table->set_caption('Colors');</code>

<h2>$this->table->set_heading()</h2>

<p>Permits you to set the table heading.  You can submit an array or discrete params:</p>

<code>$this->table->set_heading('Name', 'Color', 'Size');</code>
<code>$this->table->set_heading(array('Name', 'Color', 'Size'));</code>

<h2>$this->table->add_row()</h2>

<p>Permits you to add a row to your table.  You can submit an array or discrete params:</p>

<code>$this->table->add_row('Blue', 'Red', 'Green');</code>
<code>$this->table->add_row(array('Blue', 'Red', 'Green'));</code>

<p>If you would like to set an individual cell's tag attributes, you can use an associative array for that cell.  The associative key <dfn>'data'</dfn> defines the cell's data.  Any other key =&gt; val pairs are added as <dfn>key='val'</dfn> attributes to the tag:</p>

<code>$cell = array('data' => 'Blue', 'class' => 'highlight', 'colspan' => 2);<br />
$this->table->add_row($cell, 'Red', 'Green');<br />
<br />
// generates<br />
// &lt;td class='highlight' colspan='2'&gt;Blue&lt;/td&gt;&lt;td&gt;Red&lt;/td&gt;&lt;td&gt;Green&lt;/td&gt;
</code>

<h2>$this->table->make_columns()</h2>

<p>This function takes a one-dimensional array as input and creates
a multi-dimensional array with a depth equal to the number of
columns desired.  This allows a single array with many elements to  be
displayed in a table that has a fixed column count.  Consider this example:</p>

<code>
$list = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve');<br />
<br />
$new_list = $this->table->make_columns($list, 3);<br />
<br />
$this->table->generate($new_list);<br />
<br />
// Generates a table with this prototype<br />
<br />
&lt;table border="0" cellpadding="4" cellspacing="0"&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;one&lt;/td&gt;&lt;td&gt;two&lt;/td&gt;&lt;td&gt;three&lt;/td&gt;<br />
&lt;/tr&gt;&lt;tr&gt;<br />
&lt;td&gt;four&lt;/td&gt;&lt;td&gt;five&lt;/td&gt;&lt;td&gt;six&lt;/td&gt;<br />
&lt;/tr&gt;&lt;tr&gt;<br />
&lt;td&gt;seven&lt;/td&gt;&lt;td&gt;eight&lt;/td&gt;&lt;td&gt;nine&lt;/td&gt;<br />
&lt;/tr&gt;&lt;tr&gt;<br />
&lt;td&gt;ten&lt;/td&gt;&lt;td&gt;eleven&lt;/td&gt;&lt;td&gt;twelve&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;</code>



<h2>$this->table->set_template()</h2>

<p>Permits you to set your template. You can submit a full or partial template.</p>

<code>
$tmpl =  array ( 'table_open'&nbsp;&nbsp;=> '&lt;table border="1" cellpadding="2" cellspacing="1" class="mytable">' );<br />

<br />
$this->table->set_template($tmpl);
</code>


<h2>$this->table->set_empty()</h2>

<p>Let's you set a default value for use in any table cells that are empty.  You might, for example, set a non-breaking space:</p>

<code>
$this->table->set_empty("&amp;nbsp;");
</code>

<h2>$this->table->clear()</h2>

<p>Lets you clear the table heading and row data.  If you need to show multiple tables with different data you should
to call this function after each table has been generated to empty the previous table information. Example:</p>

<code>
$this->load->library('table');<br />
<br />
$this->table->set_heading('Name', 'Color', 'Size');<br />
$this->table->add_row('Fred', 'Blue', 'Small');<br />
$this->table->add_row('Mary', 'Red', 'Large');<br />
$this->table->add_row('John', 'Green', 'Medium');<br />
<br />
echo $this->table->generate();<br />
<br />
<kbd>$this->table->clear();</kbd><br />
<br />
$this->table->set_heading('Name', 'Day', 'Delivery');<br />
$this->table->add_row('Fred', 'Wednesday', 'Express');<br />
$this->table->add_row('Mary', 'Monday', 'Air');<br />
$this->table->add_row('John', 'Saturday', 'Overnight');<br />
<br />
echo $this->table->generate();
</code>

<h2>$this->table->function</h2>

<p>Allows you to specify a native PHP function or a valid function array object to be applied to all cell data.</p>

<code>$this->load->library('table');<br />
<br />
$this->table->set_heading('Name', 'Color', 'Size');<br />
$this->table->add_row('Fred', '&lt;strong&gt;Blue&lt;/strong&gt;', 'Small');<br />
<br />
$this->table->function = 'htmlspecialchars';<br />
echo $this->table->generate();<br />
</code>

<p>In the above example, all cell data would be ran through PHP's <dfn>htmlspecialchars()</dfn> function, resulting in:</p>

<code>&lt;td&gt;Fred&lt;/td&gt;&lt;td&gt;&amp;lt;strong&amp;gt;Blue&amp;lt;/strong&amp;gt;&lt;/td&gt;&lt;td&gt;Small&lt;/td&gt;</code>
</div>
<!-- END CONTENT -->


<div id="footer">
<p>
Previous Topic:&nbsp;<a href="ftp.html">&nbsp;FTP Class</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="image_lib.html">Image Manipulation Class</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006-2010 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">EllisLab, Inc.</a></p>
</div>

</body>
</html>