多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > codeigniter > [PHP]CodeIgniter學習手冊(六):HTML表格類

[PHP]CodeIgniter學習手冊(六):HTML表格類

來源:程序員人生   發布時間:2014-01-30 13:46:54 閱讀次數:3825次
表格類提供了多個函數,允許你從數組或者數據庫結果集中自動生成HTML表格。


初始化類

像CodeIgniter的其它類一樣, 在控制器中使用$this->load->library 函數來初始化表格類:
$this->load->library('table');

一旦被加載,可以這樣建立一個表格庫對象的實例: $this->table


例子

此例演示如何通過一個多維數組(multi-dimensional array)自動生成表格。

注意:數組的第一個索引將成為表頭(或者你可以通過set_heading()函數自定義表頭)。

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

效果圖:




下面是一個由數據庫查詢結構創建而成的表格例子。

表格類會基于表格的名字自動地生成表格標題(參考下面記述的函數,你可以使用set_heading()函數設置你自己的標題)。

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

效果截圖:




此例演示了如何使用連續的參數創建一個表格:
$this->load->library('table');$this->table->set_heading('Name', 'Color', 'Size');$this->table->add_row('Fred', 'Blue', 'Small');$this->table->add_row('Mary', 'Red', 'Large');$this->table->add_row('John', 'Green', 'Medium');echo $this->table->generate();



這個簡單的例子,除了更換個別的參數外,還使用了數組:
$this->load->library('table');$this->table->set_heading(array('Name', 'Color', 'Size'));$this->table->add_row(array('Fred', 'Blue', 'Small'));$this->table->add_row(array('Mary', 'Red', 'Large'));$this->table->add_row(array('John', 'Green', 'Medium'));echo $this->table->generate();


修改表格的外觀
表格類允許你以你指定的設計編排,去設置表格模板。這里是模板的原型:

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

注意:  在這個模板,你會發現這里有兩個"row"塊設置項。 這是允許你創建隔行顏色,或者設計每行數據的重復間隔元素。

你不必提交全部的模板。如果你只想改變編排的一部分,你可以簡單地提交那部分的元素。在這個例子里,只有表格的開始標簽被更改:

$tmpl = array ( 'table_open'  => '<table border="1" cellpadding="2" cellspacing="1" class="mytable">' );$this->table->set_template($tmpl);


函數參考:


$this->table->generate()
返回一個包含生成的表格的字符串。 接受一個可選的參數,該參數可以是一個數組或是從數據庫獲取的結果對象。


$this->table->set_caption()

允許你給表格添加一個標題

$this->table->set_caption('Colors');



$this->table->set_heading()
允許你設置表格的表頭。你可以提交一個數組或分開的參數:
$this->table->set_heading('Name', 'Color', 'Size');$this->table->set_heading(array('Name', 'Color', 'Size'));




$this->table->add_row()

允許你在你的表格中添加一行。你可以提交一個數組或分開的參數:
$this->table->add_row('Blue', 'Red', 'Green');$this->table->add_row(array('Blue', 'Red', 'Green'));

如果你想要單獨設置一個單元格的屬性,你可以使用一個關聯數組。

關聯鍵名 'data' 定義了這個單元格的數據。

其它的鍵值對 key => val 將會以 key='val' 的形式被添加為該單元格的屬性:

$cell = array('data' => 'Blue', 'class' => 'highlight', 'colspan' => 2);$this->table->add_row($cell, 'Red', 'Green');// 生成// <td class='highlight' colspan='2'>Blue</td><td>Red</td><td>Green</td>



$this->table->make_columns()

這個函數以一個一維數組為輸入,創建一個二維數組,它的深度和列數一樣。這個函數可以把一個帶有多個元素的單一數組根據表格的列數進行整理并顯示。參考下面的例子:
$list = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve');$new_list = $this->table->make_columns($list, 3);$this->table->generate($new_list);
生成的HTML代碼如下:
<table border="0" cellpadding="4" cellspacing="0"><tr><td>one</td><td>two</td><td>three</td></tr><tr><td>four</td><td>five</td><td>six</td></tr><tr><td>seven</td><td>eight</td><td>nine</td></tr><tr><td>ten</td><td>eleven</td><td>twelve</td></tr></table>




$this->table->set_template()
允許你設置你的模板。你可以提交整個模板或局部模板。
$tmpl = array ( 'table_open'  => '<table border="1" cellpadding="2" cellspacing="1" class="mytable">' );$this->table->set_template($tmpl);$this->table->set_empty()

使你能設置一個默認值,用來顯示在表格中內容為空的單元格。 例如,你可以設置一個non-breaking space(用來防止表格邊框破損的空格):
$this->table->set_empty(" ");$this->table->clear()

使你能清除表格的表頭和行中的數據。如果你需要顯示多個有不同數據的表格,那么你需要在每個表格生成之后調用這個函數來清除之前表格的信息。例如:
$this->load->library('table');$this->table->set_heading('Name', 'Color', 'Size');$this->table->add_row('Fred', 'Blue', 'Small');$this->table->add_row('Mary', 'Red', 'Large');$this->table->add_row('John', 'Green', 'Medium');echo $this->table->generate();$this->table->clear();$this->table->set_heading('Name', 'Day', 'Delivery');$this->table->add_row('Fred', 'Wednesday', 'Express');$this->table->add_row('Mary', 'Monday', 'Air');$this->table->add_row('John', 'Saturday', 'Overnight');echo $this->table->generate();$this->table->function

允許你指定一個本地的PHP方法或一個有效的方法應用到所有的單元格中的數據的數組對象。
$this->load->library('table');$this->table->set_heading('Name', 'Color', 'Size');$this->table->add_row('Fred', '<strong>Blue</strong>', 'Small');$this->table->function = 'htmlspecialchars';echo $this->table->generate();

在上面的例子中,所有單元格中的數據都可以通過PHP的htmlspecialchars()方法實現html轉義,其結果如下:
<td>Fred</td><td><strong>Blue</strong></td><td>Small</td>


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品久久亚洲一级α | 亚洲欧美日韩国产精品网 | 最近中文字幕mv免费高清视频免费 | 国产日韩精品视频一区二区三区 | 亚洲国产天堂久久综合图区 | 中文国产成人精品少久久 | 玖玖五月 | 欧美激情综合亚洲五月蜜桃 | 中国高清色视频www 中国国产成人精品久久 | 日本japanesevideo黑人 | 亚洲图片另类图片 | 国产黄色免费在线观看 | 男女一区二区三区免费 | 亚洲国产精品yw在线观看 | 琪琪see色原网中文 琪琪理论影院2018中文版 | 国内精品伊人久久 | 日产免费线路一区二区三区 | 欧美午夜三级我不卡在线观看 | 波多野衣结在线精品二区 | 国产亚洲精品久久 | 日本乱码一卡二卡三卡永久 | 久久久久这里只有精品 | 国产女人伦码一区二区三区不卡 | 国产69精品久久久久99不卡 | 亚洲国产欧美日韩一区二区三区 | 国产69精品久久久久999三级 | 久久久高清日本道免费观看 | 久久综合九色综合桃花 | 人喾交性专区免费 | 日韩大片在线观看 | 福利片在线 | 国产精品一区高清在线观看 | 中国人黑人xxⅹ性猛 | 欧美精品18videosex性欧 | 91欧美精品综合在线观看 | 亚洲伊人久久大香线蕉综合图片 | 看黄免费网站 | 久久只有精品 | 福利午夜 | 亚洲免费网站在线观看 | 日韩一级欧美一级一级国产 |