コピペでOK!!投稿記事の総数をselect文でとってくる話 wordpressのためのsql

前回のおさらい

今回はsqlでデータベースにアクセスして投稿記事の総件数を取得する話をしていきます。

前回は、投稿記事をselect文でデータを部分一致でとってくる話 wordpressのためのsql

復習になりますが、

$sql = 'SELECT * 
        FROM  wp_posts 
        WHERE post_status = "publish" 
        AND post_title LIKE "%クエスト%" ';

検索文字の両側に%をつけると投稿記事のタイトルが???クエスト???の前方と後方の一致になります。

記事の総件数を取得する

今回は記事の総件数を取得します。
前にPaginationを実装する記事を書きましたが、その時に総件数を入れなければなりませんでしたね。

その記事が->SQLのLIMITを使ってページネーションを実装する話(コード記載編)

SQLのLIMITを使ってページネーションを実装する話(コード無し編)

投稿記事の総件数を取得するsqlが下記

		$sql = "SELECT count(*) as count
		FROM wp_posts
		WHERE post_status = 'publish'
                AND post_type =  'post' ";

簡単に訳すと「wp_postsテーブルから公開済みでかつ投稿記事を選び count(*) as count(総件数)で集計します。」ですね。
このsqlでデータベースに問い合わせをして返ってきた値(総件数)をPaginationクラスに渡してあげます。

補足:取得データのアクセス方法

返ってきた変数をそのまま使ってはいけません。配列又はオブジェクトで返ってきています。

オブジェクトの場合

$count_result->テーブルのカラム名

配列の場合

(前に紹介したDBManagerクラスを使った場合↓

SQLインジェクション対応!!データベース接続クラス

$count_result[0]["テーブルのカラム名"];

上記のものを改めて変数に入れて使うか?そのまま使うかは自由です。

補足:asはアクセスネームの変更

as を使った場合、asはアクセスネームの変更になりますので、

$count_result->asの後に指定した名前;
$count_result[0]["asの後に指定した名前"];

になります。
今回は以上になります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする