2

これを理解するのに助けが必要です。配列の値をアルファベット順に出力する関数を作成しようとしていますが、現在の文字の最後に達した後に新しい文字のタイトルもエコーします。元:

アマゾン

アメリカ

B

バハマ

バミューダ

カナダ

カンボジア

等。

これまでのところ「$result」からのコードを繰り返すことでそれを行うことができますが、それは良い習慣ではないことを理解しているので、「a%」の代わりに変数を含み、文字を自動インクリメントするものを探しています (スクリプトの実行が成功するたびに、Z で停止します)。

<?php
$username = "myusername";
$password = "mypsswrd";
$hostname = "localhost"; 


$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");


$selected = mysql_select_db("mydb",$dbhandle)
or die("Could not select database");

$result = mysql_query("SELECT user, name FROM users WHERE name like 'a%' ORDER BY name");
echo "A<br />";
while ($row = mysql_fetch_array($result)) {
echo "<a href=\"/artists/artist.php?user=".$row{'user'}."\">".$row{'name'}."</a><br />";
}
echo "<br />";
4

1 に答える 1

6
$result = mysql_query("SELECT user, name FROM users ORDER BY name");
$last = '';

while ($row = mysql_fetch_array($result)) {
    $current = strtolower($row['name'][0]);
    if ($last != $current) {
        echo strtoupper($current) . "<br />";
        $last = $current;
    }
    echo "<a href=\"/artists/artist.php?user=".$row{'user'}."\">".$row{'name'}."</a><br />";
}
于 2011-10-18T18:50:14.177 に答える