0
我有一個棘手的問題來解決,讓我看看你能不能幫我...3條件+隨機順序+分頁(代碼點火器+ MySQL的)
即時通訊開發使用笨+ MySQL和一個服務目錄,由於我的客戶的業務規則,3種計劃類型。 (白金,黃金和白銀 - 按此順序從最好到最差)
有一個表與目錄中的公司tha advertise,並且他們每個人可能都支付這3個計劃之一。
的問題是:
我必須提出以下這個規則的結果: 1.白金至上,比金,比銀 2.結果中的每一個的範圍必須是隨機本身
Platinum 2
Platinum 1
Platinum 3
Gold 3
Gold 1
GOld 2
Silver 2
Silver 3
Silver 1
刷新和我得到:
Platinum 1
Platinum 3
Platinum 2
Gold 2
Gold 1
GOld 3
Silver 2
Silver 1
Silver 3
在PHP中的查詢是這樣的:
// after a Select and several joins to filter city, provinces, service types
// i do this to randomize , order and group
$query = $this->db->order_by('plan.level', 'desc');
$query = $this->db->order_by('busines.id', 'random');
$query = $this->db->group_by('business.id');
return $query->result_array();
到目前爲止,迄今爲止這麼好。 問題是,有這麼多的結果,我必須進行分頁他們:) 我怎樣才能記住這樣做牢記這:
- 該計劃的優先級必須是相同的通過網頁
- 結果必須計劃「塊」
- 而是通過網頁或omiss一些成果
我要實現這樣的事情(例如用4每頁分頁)
分頁CANT重複記錄中是隨機的Page I:
Platinum 1
Platinum 4
Platinum 5
Platinum 3
Page II:
Platinum 2
Gold 5
Gold 3
Gold 1
Page III:
Gold 4
Gold 2
Silver 2
Silver 5
Page IV:
Silver 1
Silver 3
Silver 4
在本示例中,刷新,隨機更改記錄的位置在頁面內部,在這4個頁面中沒有重複或遺漏的結果。
有人可以幫助我。 它是一個挑戰;)謝謝,阿德里亞諾。
感謝努力的人,但我們正在談論很多很多的記錄。它不適合會議。並考慮到性能問題,你的角度不能幫助我。但是,非常感謝您的快速回答。讓我們繼續嘗試。如果您有其他想法,請告訴我。最好的祝福。 –
@ Adrianod'AvilaBorges ID本身不應該太多,我們在這裏談論多少?請記住,過早優化是所有邪惡的根源。 – xiankai
5000結果在啓用了所有省份和服務類型的情況下。標準篩選器着陸從啓用所有結果開始。 –