アクティブなレコードクラスを使って最後のクエリを取得し、その一部を修正して、そのコードをcodeigniterでやり直すことはできますか?私はページ分割のために合計ページを取得しようとしています。私は直接クエリを書くことはできません。なぜなら、実行時にいくつかのforループやif文がページに送信されるフォームに応じて動的に作成されるからです。あなたが使用して最後のクエリを取得することができますcodeigniterの最後のクエリを変更してやり直してください
1
A
答えて
0
あなたがあるため、全ページの倍のクエリを実行しますか?はいの場合は、SQLでSQL_CALC_FOUND_ROWS
とFOUND_ROWS()
をチェックします。
$this->db->select("SQL_CALC_FOUND_ROwS id",false);
$this->db->any_AR_function(....);
$this->db->limit(...);
$result = $this->db->get();
この後、あなたはこれを呼び出すことができます。
$this->db->select("FOUND_ROWS() as count",false);
$count = $this->db->get();
が、私はこれがあなたが望むものであると思います。
0
:
$last_query = $this->db->last_query();
あなたはこのクエリを変更してから行うことができます。
$query = $this->db->query($modified_query);
foreach($query->result() as $row)
{
}
関連する問題
- 1. 質問のこのセクションをやり直してください
- 2. コンパイルをもう一度やり直してください
- 3. codeigniterのURLを書き直してください
- 4. ダウンロードリストビューでもう一度やり直してください
- 5. dijitのテーマやスタイルを変更してください
- 6. "sudo"で最後のコマンドを繰り返してください
- 7. 仕上げ後の状態を変更してください
- 8. SystemParametersを変更してください
- 9. ユーザエージェントを変更してください
- 10. facebook php sdk serverエラーが発生しました。後でやり直してください。
- 11. Facebookエラー:アプリでエラーが発生しました。後でやり直してください。
- 12. Facebook認証エラーが発生しました。後でやり直してください。
- 13. ログインしてくださいcodeigniter URL
- 14. このLINQクエリをより速くしてください。
- 15. 最後の3つの子を選択してください
- 16. LXSOCKET(iphone)の最後のエラーを確認してください
- 17. 最後の別のペアを選択してください
- 18. キューの最後の要素を削除してください
- 19. PHP最後の行を確認してください
- 20. リストボックスの最後のエントリに注目してください
- 21. NHibernateを変更しないWebドロップダウンリストのIlistを変更してください
- 22. AJAXの成功後にViewの要素を変更してください
- 23. Jquery mobile:クリックしてテーマを変更してください
- 24. CQLクエリのHelenus一貫性レベルを変更してください
- 25. ループ内の変数名を変更してください
- 26. SESSION変数の値を変更してください
- 27. Js? Jquery?これを行うことができます...変更のためのドロップダウンに切り替えて、その場でやり直してください。
- 28. 最後の手段としてdivを伸ばしてください
- 29. htaccessのクエリ文字列でurlを書き直してください
- 30. cvs、 "ファイルを削除してからもう一度やり直してください"
重複した質問:@stackoverflow.com/questions/8093370/restarting-active-query-in-codeigniter – Repox
@Repoxこれら2つの質問は、関連しているが異なるトピックをカバーしています。私はこれがあなたが言及している質問と重複しているとは思わない。 – yasar
いずれの場合も、2つの質問は非常に関連しているように見えます。あなたが得た回答に応答しない理由は何ですか?いずれの質問でも? – Repox