php - mysql 对数据结果进行 A-Z 排序并用行分割每个部分

标签 php mysql

我的 mysql 表中有几千行
按升序选择记录后,我想按此格式按字母顺序格式化结果的每个部分

a
ab
abc
abcd
abcde
abcdef
-------------------------------------
b
bab
babc
babcd
babcdef
-------------------------------------
c
ca
cab
cabc
cabcd
cabcde
cabcdef
-------------------------------------

我需要做的就是用线条划分字母表的每个部分。

最佳答案

在 php(和大多数其他语言)中,所有字符串实际上都是字符数组。因此 $string[0] 将保存字符串的第一个字符。

<?php
$rows = get_rows_from_mysql();

$section = false;

foreach ($rows as $row) {

  if ($section != strtolower($row['name'][0])) {
    if ($section != false) echo "------------------------";
    $section = strtolower($row['name'][0]);
  }

  echo $section['name'];
}
?>

上面的代码不会处理数字或特殊字符(如 !"#)的分组,但您应该明白了。

关于php - mysql 对数据结果进行 A-Z 排序并用行分割每个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16543672/

相关文章:

php - 将可变长度 URL 映射到数字 (0...3) 的简单哈希函数

Mysql带值条件的计数查询

php - PHP 中是否有不使用 cURL 的更简单的 HTTP POST?

php - 如果两个值已经存在,MySQL 更新,否则插入

javascript - 在 React 中刷新页面后持久登录数据

PHP 安全登录/注销 : Log Out Issue

php - 如何隐藏我的部分电子邮件地址

c# - 从 SQL 数据库中删除

PHP转xls文件及UTF-8编码

php - 我的 php 表单不断重复 mysql 中的行