PHP 与MySQL Tickers..这是标准做法吗?
我目前有大约 4 个不同的数据库表,它们输出到 html 表。其中每个表都使用计数查询来计算第 5 个表中的数据。
这没问题,但是当我想要对数据进行排序和排序以及分页等(例如使用 zend)时该怎么办?如果它是一页表,我可能可以对数组进行排序。
我的想法是,使用自动收报机。但这需要在所有 4 个表中添加一个新列,这似乎有点矫枉过正,或者可能有更好的方法。
可悲的是,我找不到太多有关它的信息(可能是因为我不知道要搜索什么)。
建议?
..请放轻松,我是新手,正在学习。
I currently have about 4 different database tables which output to html tables. Each of these tables uses a count query to calculate data from a 5th table.
That's no problem, but what about when I want to sort and order the data, and paginate etc (like with zend). If it were a one page table, I could probably sort an array.
My thought was, to use a ticker. But that would require a new column in all 4 tables and seems like overkill or like there could be a better way.
Sadly, I can't find much info on it (likely because I don't know what to search for).
Advice?
..and please take it easy, I'm new and learning.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设您正在使用 Zend_Db_Table_Row 并且不需要保留对这些行集所做的任何修改,那么您只需将虚拟列附加到行对象并让它们可以通过数组表示法进行访问。因此,如果您现在在一个查询中完成所有操作,只需使用同一查询,并且该列应该在那里。
OTOH,如果您使用数据映射器模式,那么只需调整您的水合作用以查找此“虚拟列”并水合它(如果它存在于结果数据中)。然后,在该属性的 getter 中,让它查看该属性是否为 null 或其他一些负面规范,如果是,则对该单个对象执行计算查询或返回已计算的结果。
Assuming youre using Zend_Db_Table_Row and that you dont need to persist any modifications you might make to these rowsets then you can just append the virtual columns to the row object and have them be accessible via array notation. So if youre doing it all in one query now just use that same query, and the column should be there.
OTOH, if youre using a Data Mapper pattern then simply adjust your hydration to look for this "virtual column" and hydrate it if it exists in the result data. Then in your getter for this property have it see if the property is
null
or some other negative specification, and if it is, to execute a calculation query on that single object or return the already calculated result.