前提・実現したいこと
ユーザ投稿を一覧表示する管理画面をPHPで作成しています。
PDOを使ってMySQLに接続してDBの操作を行うAPIを作成、
JavascriptでAPIを叩き画面を組み立てる形です。
下記のようにサイド部分にフィルターのリンク(日毎、月毎など)があり、
メイン部分に投稿内容がリスト状になっています。
サイド部分の各括弧内の数字は投稿数になります。
DBのテーブルは一つです。
疑問点
管理画面にアクセスした段階では全投稿のリストが表示されますが、
サイド部分の記事数も取得する必要があり、
sql
1 $sql = 2 'SELECT'. 3 ' count(*) '. 4 'FROM'. 5 ' posts '. 6 'WHERE'. 7 ' status = `A`';
このようなSQLを、フィルターの数だけ実行しています。
これが日毎のフィルターである場合、フィルターとなる日付の数だけこの回数が増えていきます。
管理画面の運用期間が1ヶ月程度と決まっているので、日毎であってもせいぜい30回となりますが、
1アクセスでSQLを何度も叩くのは悪手でしょうか?
何か別の方法がありましたらご教授いただけると幸いです。
フィルターやページネーションをクリックした場合、ajaxでメイン部分のみ書き換えるので、
その場合はSQLを何度も叩くわけではありません。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/05 14:43