A-z指数上涨

时间:2012-08-03 10:59:05

标签: php indexing

这里我的表看起来像

|A Bay of Blood|
|The Adventure|
|Blood River|
|Dooms Day|
|....|

我想要显示a-z索引

A B C D E F...... Z

我想只给出可在表格中找到的字母的可点击链接

4 个答案:

答案 0 :(得分:0)

一种简单的方法是使用这样的查询:

“SELECT column1,column2 FROM yourtable WHERE title LIKE'$ letter%'”

...其中$ letter是A,B或C等......

答案 1 :(得分:0)

创建一个数组,其中字母为键,值为true(可点击链接)或false(仅显示)。将所有值初始化为false

$letters = array_fill_keys(range('A', 'Z'), false);

循环标题并将与每个字母的第一个字母对应的值设置为true

foreach ($titles as $title) {
    $letters[$title[0]] = true;
}

然后遍历结果并显示链接或相应的字母:

foreach ($letters as $letter => $link) {
    if ($link) ...
    else ...
}

答案 2 :(得分:0)

这应该有效:

$abc = array ('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');
foreach ($abc as $v) {
    $ret = $db->query("SELECT COUNT (column) WHERE column LIKE '" .$v. "%'");
    $count = $ret->fetchColumn();
    if ($count == 0) 
        echo '<li>' .$v. '</li>';
    else
        echo '<li><a href="link.php">' .$v. '</a></li>';
}

答案 3 :(得分:0)

<a href="index.php?alphabet=a">A</a> | <a href="index.php?alphabet=b">B</a> ....

$qry = "select <col_name> from <table_name> where <col_name> LIKE '".$_GET['alphabet']."%'";