You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CodeIgniter中用MySQL按分组划分所有列并分段展示?

嘿,我来帮你搞定这个数据整理和格式输出的问题!你已经把数据插入MySQL了,现在只需要两步:先把数据按日期分组查询出来,再整理成你想要的Markdown样式就行。下面我先把你要的目标输出用标准Markdown呈现,再告诉你具体怎么实现:

所需输出:

日期 2017-2018

  • Sherlock: Detective
  • Elon Musk: Genius
  • Leo: Hero

日期 2015-2016

  • Robin: Detective
  • Caprio: Hero

日期 2014-2015

  • Snow: hero
  • Mr.x: Unknown

你的MySQL数据表(格式化后)

+----+------------+----------+------------+
| id | date_from  | name     | desc       |
+----+------------+----------+------------+
| 1  | 2014-2015  | snow     | hero       |
| 2  | 2014-2015  | Mr.x     | unknown    |
| 3  | 2015-2016  | Robin    | detective  |
| 4  | 2015-2016  | Caprio   | hero       |
+----+------------+----------+------------+

实现方法推荐

你可以在**应用层(比如Python/PHP/Java)**处理查询结果,这样能灵活控制输出格式:

  1. 先写SQL查询,按日期倒序获取所有数据:
SELECT date_from, name, `desc` FROM your_table_name ORDER BY date_from DESC;

(注意desc是MySQL关键字,要用反引号包裹避免报错)

  1. 用编程语言遍历结果,按日期分组输出:
    举个Python的简单例子:
import mysql.connector

# 连接数据库(替换成你的数据库信息)
db = mysql.connector.connect(
    host="your_host",
    user="your_user",
    password="your_pass",
    database="your_db"
)

cursor = db.cursor()
cursor.execute("SELECT date_from, name, `desc` FROM your_table ORDER BY date_from DESC")

current_date = None
print("## 所需输出:\n")
for date_from, name, desc in cursor:
    # 日期切换时输出新的标题
    if date_from != current_date:
        current_date = date_from
        print(f"### 日期 {current_date}")
    # 输出人物和描述,用Markdown列表格式
    print(f"- **{name}**: {desc.capitalize()}")  # 可选:统一首字母大写,和目标格式更匹配

cursor.close()
db.close()

运行这段代码就能直接生成你要的Markdown格式内容啦,要是用其他语言,思路也是一样的:先按日期分组,再逐个输出标题和列表项。

内容的提问来源于stack exchange,提问作者lukman nakib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:15:07