ここで私のテーブルは次のようになります
|A Bay of Blood|
|The Adventure|
|Blood River|
|Dooms Day|
|....|
azインデックスを表示したい
A B C D E F...... Z
そして私はテーブルで見つけることができる手紙のためのクリック可能なリンクだけを与えたいです
簡単なアプローチは、次のようなクエリを使用することです。
"SELECT column1、column2 FROM yourtable WHERE title LIKE'$ letter%'"
...ここで、$ letterはA、B、Cなどです。
文字がキーで値が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 ...
}
これはうまくいくはずです:
$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>';
}
<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']."%'";