開発(PHP):データベースで特定のテーブルの情報を抽出

データベースで特定のテーブルの情報を抽出するには、$modx->db->selectメソッドを使用します。

構文

戻り値 = $modx->db->select(
	抽出フィールド,
	対象テーブル,
	条件,
	並び順序,
	件数制限
);
引数名 初期値 説明
第一引数 抽出フィールド string '*' 抽出するデータベースのフィールド(カラム名)。
カンマ区切りで複数取得することが可能。
第二引数
必須
対象テーブル string   対象のテーブル名。
インストール時に設定したプレフィックスを指定する必要があるが、[+prefix+]プレースホルダーで自動的に付与してくれる。
第三引数 条件 string   絞り込む条件。
SQL文のWHEREと同じ指定方法。
例:"`id`>'3'"
ANDORで複数の条件を指定することが可能。
第四引数 並び順序 string   抽出した情報の並び順序。
SQL文のORDER BYと同じ指定方法。
例:"id DESC"
カンマ区切りで複数指定することが可能。
第五引数 件数制限 string   抽出した情報の件数を制限する。
SQL文のLIMITと同じ指定方法。
例:"5"
カンマで区切ると範囲を指定することが可能。
例:"5,10"(5行目から10行目まで取得)

戻り値

次のプロパティを持つobjectを返します。

プロパティ名 説明
current_field integer 現在のフィールドのインデックス番号。
field_count integer 取得したフィールドの数。
lengths array
または
null
現在の行のフィールド毎のバイト数。
$modx->db->getRowなどで行が移動した時に更新。
最初に抽出した時点ではnull。
num_rows integer 取得した件数。
type integer ※ 不明

サンプルコード

$results = $modx->db->select('id,pagetitle', '[+prefix+]site_content');

if ($results->num_rows > 0) {
	...
}

CMS「MODX Evolution」逆引きリファレンス一覧へ戻る