問題タブ [cactivedataprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - SQL ソート: ブロックを DESC で並べ替える - ただし、各ブロックはそれ自体で ASC でソートされます
メッセージとその発行日を含む SQL テーブルがあります。
これらのメッセージを M1、M2、... M99 と呼びましょう。M1 が最新のメッセージです。
whatsapp の方法でそれらを表示したい (私は Yii 1.1 フレームワークを使用しています): 最新のメッセージ M1 は一番下にあり、その上には 2 番目に新しい M2 メッセージなどがあります。
しかし、固定数のメッセージ (5 としましょう) のブロックごとに表示したいので、要求があれば前のメッセージをロードします。したがって、ページをロードすると、次のように表示されます。
(さらに読み込むボタン)
M5
M4
M3
M2
M1
[さらに読み込む] ボタンを 1 回クリックすると、上から下に次のようになります。
(さらにボタンをロード)/M10/M9/M8/M7/M6/M5/M4/M3/M2/M1
Yii で ActiveDataProvider を使用してこれを達成しようとしていますが、そのためには、次のようにデータを並べ替える必要があります。
M5、M4、M3、M2、M1、M10、M9、M8、M7、M6、M15、M14、M13、M12、M11など
limit と offset を使用しても、そのような並べ替えを行う方法がわかりません。
誰かがこれについて私を助けてくれたら嬉しいです、ありがとう!
編集:これが私が使用しているActiveDataProviderです
そして私の見解では
php - CActiveDataProvider を使用して暗号化されたデータベース フィールドをソートする方法
患者の名と姓は、base_64 エンコーディングを使用してデータベースに保存されました。first_name を使用してソートされた順序で患者を取得するにはどうすればよいでしょうか? ソートは元の値に適用する必要があります。CActiveDataProvider からのプロビジョニングはありますか? すべてのレコードをループしたり、患者を復号化して並べ替えたりしたくありません。