開発(PHP):データベースから抽出した情報を1つずつ取得
データベースから抽出した情報を1つずつ取得するには、$modx->db->getRow
メソッドを使用します。
構文
戻り値 = $modx->db->getRow(データ, 戻り値の形式);
引数名 | 型 | 初期値 | 説明 | |
---|---|---|---|---|
第一引数 必須 |
データ | object | $modx->db->selectメソッドで抽出したデータ。 $modx->db->selectメソッドについて: データベースで特定のテーブルの情報を抽出 |
|
第二引数 | 戻り値の形式 | string | 'assoc' | 戻り値の形式。 ' assoc ' ... 連想配列' num ' ... 配列' object ' ... stdClassオブジェクト' both ' ... 'assoc'と'num'の両方
|
戻り値
取得に成功したら第二引数で指定された形式、失敗したらnullを返します。
成功した時に返す情報は$modx->getDocumentメソッドと同じ値です。
$modx->getDocumentメソッドについて:特定のリソースの情報を取得
サンプルコード
$results = $modx->db->select('id,pagetitle', '[+prefix+]site_content');
$row = $modx->db->getRow($results);
if ($row) {
echo $row['pagetitle'];
}
$modx->db->getRowメソッドを実行すると1行目を取得し、さらに$modx->db->getRowメソッドを実行すると2行目を取得します。
つまり$modx->db->getRowメソッドを実行すると、第一引数で指定した抽出データの行の位置が1つ移動し更新されていきます。
このことを利用しwhile
文を使用することで、抽出データを繰り返し処理することができます。
$results = $modx->db->select('id,pagetitle', '[+prefix+]site_content');
while ($row = $modx->db->getRow($results)) {
...
}