我在我的網站上列出了一大堆產品,每個產品都有用戶評分。我使用一個查詢爲每個產品提取一些數據點(「詳細查詢」),第二個查詢返回每個產品的平均用戶評級(「評級查詢」)。在PHP中排序MySQL結果...?
我想將每個產品的用戶評分附加到「詳細查詢」結果集上,然後按降序排列。我讀過堆棧溢出,php.net等一堆條目,我想我需要使用usort()與自定義函數,但每次我將我的MySQL結果傳遞給usort()我得到一個PHP錯誤說:我傳遞給usort()的對象不是數組。例如,我試過了:
$data = mysql_fetch_array($details_query);
usort($data,"compare");
這樣做會引發錯誤,說$ data不是數組。我究竟做錯了什麼?
此外,如果任何人有任何其他建議如何完成這件事,我會非常感激。由於某種原因,我遇到了這樣的困難...
謝謝!
在查詢中執行此操作。這是最簡單的方法。也許問一個關於如何做的單獨問題,包括關於表結構的更多細節 – 2010-12-14 03:28:58
實際上幾乎沒有理由在PHP中對數據庫數據進行排序。在幾乎每種情況下,SQL都可以更快地完成。 – Jonah 2010-12-14 03:30:53
嗨Pekka,因爲我的表結構的方式,我不認爲我可以在查詢內做到這一點。 「詳細信息查詢」根據國家/地區提取個人記錄,「評級查詢」在各個國家/地區進行彙總。我很清楚我必須在php中進行排序後查詢。 – Chris 2010-12-14 03:31:47