gpt4 book ai didi

php - 在 codeigniter 中创建一个包含 60000 行以上垂直表格的报告。如何分页?

转载 作者:行者123 更新时间:2023-11-29 19:28:23 25 4
gpt4 key购买 nike

在我决定发布这个问题之前,我进行了很多思考。尝试以简化的格式解释我的问题。

我的 mySQL 表中有 2 个表,其中一个是用户,另一个是与该用户相关的问题和答案。

简化示例:

用户

| id | name   | registered_on       |
|----|--------|---------------------|
| 1 | Aaron | 2017-02-01 00:01:02 |
| 2 | Baron | 2017-02-01 01:01:02 |
| 3 | Chiron | 2017-02-01 02:01:02 |

答案

| id | user_id | keyword | value   | created_on          |
|----|---------|---------|---------|---------------------|
| 1 | 1 | gender | Male | 2017-02-01 00:01:02 |
| 2 | 1 | age | 24 | 2017-02-01 00:01:02 |
| 3 | 2 | gender | Male | 2017-02-01 00:01:02 |
| 4 | 2 | age | Unknown | 2017-02-01 00:01:02 |
| 5 | 3 | gender | God | 2017-02-01 00:01:02 |

我希望上面的关系是清楚的。所以我希望实现的是创建一个像这样的 CSV 报告

| name   | gender | age     | registered_on       |
|--------|--------|---------|---------------------|
| Aaron | Male | 24 | 2017-02-01 00:01:02 |
| Baron | Male | Unknown | 2017-02-01 01:01:02 |
| Chiron | God | NULL | 2017-02-01 02:01:02 |

正如我的研究表明,这可以通过以下方式完成:

  • 准备好的语句(无法使用,因为 CodeIgniter 不支持)
  • 分页(垂直表格是问题所在)
  • MySQL 数据透视表(但具有动态列名称 - 感觉很复杂!)
  • 我不知道还有什么更好的方法

我正在考虑分页,但我还没有弄清楚它是如何实现的用于垂直表的情况。如果你们中有人遇到过同样的问题或者有一些有意义的建议,我会很高兴!如有任何帮助,我们将不胜感激!

最佳答案

如果我很了解您的问题,您想要一个 CSV 文件,其中包含所有可用的用户信息(使用答案键作为列)吗?

为什么不通过 2 个查询来完成此操作?

首先,您可以选择答案表中的所有不同键(选择不同的关键字...)然后,使用在结果上循环的联接创建查询:

$this->db->select('u.id, u.name, u.registered_on');
$this->db->from('users u');
foreach($keywords as $i_key => $s_keyword){
$this->db->join('answers_table at'.$i_key, 'at'.$i_key.'.user_id = u.id', 'left');
$this->db->select('at'.$i_key.'.value as '.$s_keyword);
}
$a_users = $this->db->get()->result();

关于php - 在 codeigniter 中创建一个包含 60000 行以上垂直表格的报告。如何分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41980537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com