2016-09-29 2 views
-1

データベーステーブルからキーと値をフェッチして配列に入れたいのですが、配列に追加する必要があります。だから私はそれを配列に設定できますか? array_push()を使うと、0からインデックスが始まり、テーブルからフェッチされた配列インデックスが必要になります。配列キーと値をPHPで定義する

私のテーブルはarray_val

キー
K1         val1と
K2         val2の

+0

これらのコードはどこですか? – Ghost

+0

EAVパターンは一般的に反パターンと見なされるので、あなたのDBを再設計することができます。データベースとそれに格納されているデータに関する詳細を投稿すると、より良い解決策をお手伝いできる場合があります。 - https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model – ChristianF

+0

PHP 5.5+ [array_column](http://php.net/manual/en/function.array) -column.php)も使用できます。 3番目のパラメータを確認します。 – Jigar

答えて

0
$array_val = array(); 

$results = mysql_fetch_array($query); 
foreach($results as $key => $val){ 
    $array_val[$key] = $val 

} 
+0

これは私のために働く、ありがとう:) –

0

命名され、私はあなたが一緒に何かを探していると思いますの行MySQLiを使用している場合は210です。

+0

残念ながら、EAVテーブルを使用しているので、これは著者が尋ねるものではありません。 – ChristianF

+0

@ChristianF母、私の悪い、私はEAVテーブルが何であるか分からなかった。彼はそれをどこで使っていると言いましたか? –

+0

投稿した "データ"の例を見ると、2つの列があることがわかります。そのうちの1つは「キー」を含み、もう1つは「値」を含む。私はEAVパターンについての質問に私のコメントとしてWikipediaへのリンクを追加しました。 – ChristianF

0

別の解決策

while ($row = $result->fetch_assoc()){ //list of sql results 
$my_array[$row["key"]]=$row["value"]; 
} 

キーは、あなたのテーブルのフィールドです。表は以下のとおりです。コードの下array_val

+1

これは!これは正しいものです –

0

月、単に

をあなたを助ける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']; 
    } 
} 
+1

私はそれが '$ arr [$ row ['key']] = $ row ['value']' – RamRaider

関連する問題