2014-02-11 48 views
0

我想創建A-Z的鏈接。這是我的分頁。在CI和分頁結果操作中創建A-Z鏈接

例如,我有一個表的分頁結果,所以我必須在A-Z的結果之上建立鏈接。如果我點擊A,那麼只會顯示那些有A作爲$position[0];的結果。

這只是我剛做的一個示例php代碼。它不在Codeigniter上,所以鏈接是由html代碼完成的。我將在以後的CI中實現的方式是,我將爲每個鏈接使用錨標籤和uri段來發送已選中鏈接的相應字母。

無論如何,示例代碼。

<?php 

$string = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"; 
$letter_array = explode(' ',$string); 
foreach($letter_array as $key=>$letter) 
{ 
?> 
<a href=""><?php echo $letter; ?></a> 
<?php 
} 
$sample_results = "Airplane,Car,Truck"; 

$array_results = explode(',',$sample_results); 

foreach($array_results as $key=>$val) 
{ 
if($val[0] == "A") 
{ 
echo $val; 
} 
} 
?> 

它工作,並打印結果。

A B C d E F G H I J K L M N 2 O P Qř式T U V W X YŽ飛機

有聲明在笨A-Z字母的陣列的任何更快的方法?不知怎的,假設這是正確的。 $array = array("A-Z","a-z");所以,當我循環這個,它會打印字母A到Z/A到Z。

最後,是否有任何處理查詢結果的方法,只對那些第一個字母是用戶挑選的結果進行篩選。就像CI中的where子句一樣。我可以添加像where("name".[0],$letter_link)

+1

的可能重複的[分頁用字母作爲索引(http://stackoverflow.com/questions/21525182/pagination-with-letters-as-index) –

+0

在foreach(範圍( '一個',' z')爲$字母)回答我的另一個問題。無論如何,只是一個問題,關於使用字母分頁。我使用鏈接而不是數字的字符?如果我對A有100個結果怎麼辦?我是否需要再分頁100個,也許每個頁面有10個結果? – user3205047

+0

我以前沒有看到您的評論,無論如何,對於您的新問題是的,你必須使用另一個分頁。請檢查我的網站http://www.vanmaram.com/browse/english/a/1,在這裏你有字母'a'和'1'。這裏'a'是字母分頁,'1'是字母'a'中的分頁。 – Sanoob

回答

1

一個代碼從this forum

1)宣佈在笨A-Z字母的陣列。有在PHP函數叫做

range() 

所以,你的代碼可以是這樣的

foreach(range('a', 'z')as $key=>$letter) 

看到manual,它給你您所提供的範圍內的陣列。

2)此代碼將幫助你。

<?php 
    class Books_model extends Model { 
    function Books_model() { 
     parent::Model(); 
    } 

    function get_list($char = FALSE) { 
     $this->db->from('books'); 
     if($char !== FALSE) { 
     $this->db->like('title', $char, 'after'); // here is the answer 
     } 
     $this->db->order_by('title', 'asc'); 
     $result = $this->db->get(); 
     if($result->num_rows() > 0) { 
     return $result->result_array(); 
     } else { 
     return array(); 
     } 
    } 
    }