Php 以字母标题按字母顺序列出
从一个姓名数据库中,我打印出一个独特姓氏的列表,并统计每个姓氏出现的次数。然而,有500多个唯一的名字,这个列表读起来很痛苦 如何按首字母(如标题)分组 目标: 迄今为止的代码:Php 以字母标题按字母顺序列出,php,mysql,Php,Mysql,从一个姓名数据库中,我打印出一个独特姓氏的列表,并统计每个姓氏出现的次数。然而,有500多个唯一的名字,这个列表读起来很痛苦 如何按首字母(如标题)分组 目标: 迄今为止的代码: $sql = "SELECT surname, COUNT(surname) AS count FROM $table WHERE first <> 'unknown' GROUP BY surname ORDER BY su
$sql = "SELECT surname, COUNT(surname) AS count
FROM $table
WHERE first <> 'unknown'
GROUP BY surname
ORDER BY surname ASC";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_assoc($result)) {
$surname = $row["surname"];
$count = $row["count"];
echo "<li>".$surname." (".$count."), </li>\n";
}
$sql=“选择姓氏、计数(姓氏)作为计数
从$table开始
第一个“未知”在哪里
按姓氏分组
按姓ASC排序”;
$result=mysqli\u查询($conn,$sql);
而($row=mysqli_fetch_assoc($result)){
$姓氏=$行[“姓氏];
$count=$row[“count”];
回显“”$姓氏”(“$count”), \n”;
}
只要您强制对SQL查询进行排序,您就可以跟踪每个姓氏中看到的第一个字母,如果它不是当前活动的第一个字母,则只在PHP中插入一个标题:
$html = "<ul>\n";
$first = false;
while($row = mysqli_fetch_assoc($result)) {
$surname = $row["surname"];
$count = $row["count"];
$index = substr($surname,0,1);
if ($index != $first) {
$first = $index;
$html .= "</ul>\n<h2>$first</h2>\n<ul>";
}
$html .= "<li>$surname ($count)</li>\n";
}
$html .= "</ul>";
...
echo $html
$html=“\n”;
$first=false;
而($row=mysqli_fetch_assoc($result)){
$姓氏=$行[“姓氏];
$count=$row[“count”];
$index=substr($姓氏,0,1);
如果($index!=$first){
$first=$index;
$html.=“
\n$first\n”;
}
$html.=“- $name($count)
\n”;
}
$html.=“
”;
...
echo$html
只要您强制对SQL查询进行排序,您就可以跟踪每个姓氏中看到的第一个字母,如果它不是当前活动的第一个字母,则只在PHP中插入一个标题:
$html = "<ul>\n";
$first = false;
while($row = mysqli_fetch_assoc($result)) {
$surname = $row["surname"];
$count = $row["count"];
$index = substr($surname,0,1);
if ($index != $first) {
$first = $index;
$html .= "</ul>\n<h2>$first</h2>\n<ul>";
}
$html .= "<li>$surname ($count)</li>\n";
}
$html .= "</ul>";
...
echo $html
$html=“\n”;
$first=false;
而($row=mysqli_fetch_assoc($result)){
$姓氏=$行[“姓氏];
$count=$row[“count”];
$index=substr($姓氏,0,1);
如果($index!=$first){
$first=$index;
$html.=“
\n$first\n”;
}
$html.=“- $name($count)
\n”;
}
$html.=“
”;
...
echo$html
Hint:您也可以在MySQL中按第一个字母分组。提示:您也可以在MySQL中按第一个字母分组。