我需要一些帮助来解决这个问题。我正在尝试创建一个按字母顺序输出数组中的值的函数,但在到达当前字母结尾后回显一个新的字母标题。例如:
亚马逊
美
巴哈马
百慕大
加拿大
柬埔寨
等
到目前为止我可以通过重复“$ 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 />";
答案 0 :(得分: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 />";
}