我有一个像这样订购的MySQL表:
| user_id | day | time | job |
|--------------------------------|
| 1 | 2455251 | 08 | T23 |
| 1 | 2455252 | 14 | T14 |
| 1 | 2455253 | 22 | T27 |
| 2 | 2455251 | 06 | T16 |
| 2 | 2455252 | 12 | T64 |
| 2 | 2455253 | 20 | T38 |
etc...
我希望得到我的请求的结果,如此架构:
user_id, day1, time1, job1, day2, time2, job2, day3, time3, job3
值可能是:
1, 2455251, 08, T23, 2455252, 14, T14, 2455253, 22, T27
2, 2455251, 06, T16, 2455252, 12, T64, 2455253, 20, T38
etc...
我觉得无法提出请求......(我在数据库方面很差)。 你有好主意吗?你们有人曾经有过这样的经历吗?
答案 0 :(得分:3)
您可以这样做,但不能使用SQL。
您正在谈论两个截然不同的想法:查询数据和显示数据。如果查询没有问题,您现在要做的就是在显示屏上工作。
显示数据库的软件是什么?如果你希望MySQL客户端能够为你管理这个,我担心你会失望的。如果是你编写的代码,你会有更好的运气。
您希望数据在哪里结束?在文件中?在显示器上?
更新:如果您正在使用Ajax查询数据库,那么页面的工作就是以您喜欢的方式对其进行格式化。
你可能仍然觉得这是一项具有挑战性的苦差事。 (它看起来也不会很好。)
很容易看出这将如何寻找一些行。但是如果查询返回数十呢呢?数百?你如何限制回来的行数?
如果我想从中获取此格式 服务器,这是因为我不想要我的 javascript花了太多时间 在客户端呈现结果。
听起来你对我的过早优化感到愧疚。
如果你从服务器收到那么多数据,我会说你遇到了更大的问题。让它在它所属的客户端上运行,然后查看您的性能是否可以接受。
这是另一个想法:我相信这种渲染运营商数据的方式看起来很糟糕,对运营商来说几乎没用。你真的想在这里解决什么问题? Ajax和jQuery UI,YUI等库提供了一些非常好的方法来呈现远远超出HTML可以做的数据。为什么不研究一些替代方法?
如果你可以在PHP中使用CSS,我建议使用CSS来定位你的数据。只需将行加载到DOM中,然后让CSS将其布局。