我想创建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 O P Q R S T U V W X Y Z飞机
有没有更快的方法在codeigniter中声明一组A-Z字母?不知怎的,假设这是对的。 $array = array("A-Z","a-z");
所以当我循环它时,它会打印字母A到Z / a到z。
最后,有没有办法通过过滤结果来操纵查询结果,只有第一个字母是用户选择的那些。就像CI中的where子句一样。我可以添加像where("name".[0],$letter_link)
答案 0 :(得分:1)
1)在codeigniter中声明一组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();
}
}
}