データベーステーブルからキーと値をフェッチして配列に入れたいのですが、配列に追加する必要があります。だから私はそれを配列に設定できますか? array_push()を使うと、0からインデックスが始まり、テーブルからフェッチされた配列インデックスが必要になります。配列キーと値をPHPで定義する
私のテーブルはarray_val
キー値
K1 val1と
K2 val2の
データベーステーブルからキーと値をフェッチして配列に入れたいのですが、配列に追加する必要があります。だから私はそれを配列に設定できますか? array_push()を使うと、0からインデックスが始まり、テーブルからフェッチされた配列インデックスが必要になります。配列キーと値をPHPで定義する
私のテーブルはarray_val
キー値
K1 val1と
K2 val2の
$array_val = array();
$results = mysql_fetch_array($query);
foreach($results as $key => $val){
$array_val[$key] = $val
}
これは私のために働く、ありがとう:) –
命名され、私はあなたが一緒に何かを探していると思いますの行MySQLiを使用している場合は210です。
残念ながら、EAVテーブルを使用しているので、これは著者が尋ねるものではありません。 – ChristianF
@ChristianF母、私の悪い、私はEAVテーブルが何であるか分からなかった。彼はそれをどこで使っていると言いましたか? –
投稿した "データ"の例を見ると、2つの列があることがわかります。そのうちの1つは「キー」を含み、もう1つは「値」を含む。私はEAVパターンについての質問に私のコメントとしてWikipediaへのリンクを追加しました。 – ChristianF
別の解決策
while ($row = $result->fetch_assoc()){ //list of sql results
$my_array[$row["key"]]=$row["value"];
}
キーと値は、あなたのテーブルのフィールドです。表は以下のとおりです。コードの下array_val
これは!これは正しいものです –
月、単に
をあなたを助けるwhile
ループを使用してデシベル記録から配列要素を作成することができます。
$arr = array();
$sql = "SELECT key,value FROM <tablename>";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$arr[$row['key']] = $row['value'];
}
}
私はそれが '$ arr [$ row ['key']] = $ row ['value']' – RamRaider
これらのコードはどこですか? – Ghost
EAVパターンは一般的に反パターンと見なされるので、あなたのDBを再設計することができます。データベースとそれに格納されているデータに関する詳細を投稿すると、より良い解決策をお手伝いできる場合があります。 - https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model – ChristianF
PHP 5.5+ [array_column](http://php.net/manual/en/function.array) -column.php)も使用できます。 3番目のパラメータを確認します。 – Jigar