データベースから特定のキーと値を取得しようとしています。私のデータベースエントリは次のようになります:
id | name | description | value
------------------------------------------
1 | lang | default language | en
2 | date | date format | YYYY-MM-DD
name
フィールドとフィールドのみをエコーしたいvalue
。次のように、ネストされた foreach ループを使用してみました。
foreach($details as $key => $value)
{
foreach($value as $index => $row)
{
echo $index . " / " . $row . "<br />";
}
echo "<br />";
}
しかし、それはエコーするだけです:
id / 1
name / lang
description / default language
value / en
id / 2
name / date
description / date format
value / YYYY-MM-DD
ただし、 so: のようにオフセットを追加すると、 name の代わりに、または の代わりに$index[1]
this like が取得されます。a
e
description
以前は をwhile
使用してループから作業していましmysql_fetch_array
たが、これにより繰り返し要素 ( a<tr>
など) が得られますが、ユーザーが管理するフォームを作成するために使用されるため、フィールドの値を抽出するだけで済みます。
私がそのようなことをするための提案や別のアプローチを誰かが持っていますか?
編集
クエリはクラス ファイルから取得されます。
// extracted from my queries.class.php
public function my_prefs()
{
global $db;
$query = "SELECT * FROM preferences WHERE value!=NULL";
return $db->select($query);
}
// extracted from the source file
$module_details = $query->my_prefs();
編集#2
おそらく、これは私のニーズを理解するのに役立ちます:
foreach($module_details as $key => $value)
{
print_r($module_details);
}
戻り値:
Array
(
[0] => stdClass Object
(
[id] => 1
[name] => lang
[description] => default language
[value] => en
)
[1] => stdClass Object
(
[id] => 1
[name] => date
[description] => date format
[value] => YYYY-MM-DD
)
}
lang
/en
とdate
/のみにアクセスする必要がありますYYYY-MM-DD
。