diff options
author | admin <devnull@localhost> | 2006-10-09 06:17:38 +0200 |
---|---|---|
committer | admin <devnull@localhost> | 2006-10-09 06:17:38 +0200 |
commit | a1931ad87e8145f08dbf381ceab5bf88457b1a83 (patch) | |
tree | 5e372eac7015bbc048e6032af403090b3d600102 | |
parent | 6c9f736650bd9eafb2c44bb844f13de259d5efb6 (diff) |
-rw-r--r-- | system/libraries/Table.php | 11 | ||||
-rw-r--r-- | user_guide/libraries/table.html | 138 |
2 files changed, 139 insertions, 10 deletions
diff --git a/system/libraries/Table.php b/system/libraries/Table.php index 935a7d8a6..4771295a5 100644 --- a/system/libraries/Table.php +++ b/system/libraries/Table.php @@ -61,7 +61,7 @@ class CI_Table { // -------------------------------------------------------------------- /** - * Add a table heading + * Set the table heading * * Can be passed as an array or discreet params * @@ -69,7 +69,7 @@ class CI_Table { * @param mixed * @return void */ - function add_heading() + function set_heading() { $args = func_get_args(); $this->heading = (is_array($args[0])) ? $args[0] : $args; @@ -313,12 +313,7 @@ class CI_Table { 'table_close' => '</table>' ); } - - - - - - + } diff --git a/user_guide/libraries/table.html b/user_guide/libraries/table.html index f861a2c96..e80e53fd7 100644 --- a/user_guide/libraries/table.html +++ b/user_guide/libraries/table.html @@ -70,9 +70,143 @@ HTML Table Class <p>Like most other classes in Code Igniter, 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 Trackback library object will be available using: <dfn>$this->table</dfn></p>
-
+<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.</p>
+
+<code>
+$this->load->library('table');<br />
+<br />
+$data = array(<br />
+ array('Name', 'Color', 'Size'),<br />
+ array('Fred', 'Blue', 'Small'),<br />
+ array('Mary', 'Red', 'Large'),<br />
+ array('John', 'Green', 'Medium') <br />
+ );<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 discreet 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:
+
+<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 />
+ 'table_open' => '<table border="0" cellpadding="4" cellspacing="0">',<br />
+<br />
+ 'heading_row_start' => '<tr>',<br />
+ 'heading_row_end' => '</tr>',<br />
+ 'heading_cell_start' => '<th>',<br />
+ 'heading_cell_end' => '</th>',<br />
+<br />
+ 'row_start' => '<tr>',<br />
+ 'row_end' => '</tr>',<br />
+ 'cell_start' => '<td>',<br />
+ 'cell_end' => '</td>',<br />
+<br />
+ 'row_alt_start' => '<tr>',<br />
+ 'row_alt_end' => '</tr>',<br />
+ 'cell_alt_start' => '<td>',<br />
+ 'cell_alt_end' => '</td>',<br />
+<br />
+ 'table_close' => '</table>'<br />
+ );<br />
+
+<br />
+$this->table->set_template($tmpl);
+</code>
+
+<p class="important">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' => '<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_heading()</h2>
+
+<p>Permits you to set the table heading. You can submit an array or discreet 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 discreet params:</p>
+
+<code>$this->table->add_row('Blue', 'Red', 'Green');</code>
+<code>$this->table->add_row(array('Blue', 'Red', 'Green'));</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' => '<table border="1" cellpadding="2" cellspacing="1" class="mytable">' );<br />
+
+<br />
+$this->table->set_template($tmpl);
+</code>
</div>
|