2010-10-27 13 views
0

我目前有大約4個不同的數據庫表輸出到HTML表。每個表都使用計數查詢來計算第5個表中的數據。PHP&MySQL代碼。這是標準做法嗎?

這是沒有問題的,但是當我想對數據進行排序和排序以及分頁等時(比如使用zend),那怎麼辦?如果它是一個單頁表格,我可能可以對一個數組進行排序。

我的想法是,使用股票代碼。但是,這將需要在所有4個表格中添加一個新欄目,看起來像是矯枉過正,或者可能會有更好的方法。很遺憾,我找不到很多信息(可能是因爲我不知道要搜索什麼)。

建議?

..請放鬆一下,我是新的和學習。

回答

1

假設您使用Zend_Db_Table_Row並且您不需要對這些行集進行任何修改,那麼您可以將虛擬列附加到行對象並使它們可以通過數組表示法訪問。所以,如果你現在正在使用同一個查詢,那麼所有在一個查詢中,列應該在那裏。

OTOH,如果您使用的是數據映射器模式,那麼只需調整水合作用來查找此「虛擬列」並在結果數據中存在水合物。然後在這個屬性的getter中查看該屬性是否爲null或其他一些否定規範,如果是,則對該單個對象執行計算查詢或返回已計算的結果。

+0

謝謝!這聽起來很完美。你有鏈接,我可以找到更多關於實現虛擬列等的信息。我使用擴展抽象映射器的映射器。我在相關映射器中爲屬性設置了一個getter,但無法弄清楚當我有一組映射器循環時,我將如何對該屬性進行排序。即在循環之前將數據分類。 – 2010-10-27 03:35:34

+0

你爲什麼會有一些映射器?你不應該有一個對象的數組?即。映射程序發出查詢並處理水合作用並保存數據對象,但在您的視圖中或與分頁符相比,您可以擁有數據對象或集合對象...我沒有任何指向turotial的specfici鏈接,但是如果您希望o post示例架構和您的查詢(我)可能傾向於給你一個骨架的例子... – prodigitalson 2010-10-27 03:42:54