2009-06-14 18 views
3

私のコードでは、SQLデータベースからデータ(3列)を取得しており、連想PHP配列に行を格納したいと考えています。私はこのような値を取得できるように、キーとしてデータベースから行IDを使用したいので、配列が多次元である必要があります。PHPの2次元連想配列

$製品[「f84jjg」] [「名前」]

$製品[ "245"] [ "コード"]

私は、次のコードを使用して試してみたが、それは動作しません:

while ($row = mysql_fetch_row($sqlresult)) 
{ 
    $products = array($row[0] => array(
      name => $row[1], 
      code => $row[2] 
     ) 
    ); 
} 

また、どのように私は、キーを参照する必要がありますそれがvarから取られた場合私は?私がしたいことは:

$productName = $products[$thisProd]["name"]; 

これは動作しますか?

答えて

8

これはrow[0]年代内容を想定し、それを行う必要がありますが、一意の識別子(他にあなたが行をオーバーライドすることができます)です:

while($row = mysql_fetch_row($sqlresult)) { 
    $products[$row[0]] = array(
     'name' => $row[1], 
     'code' => $row[2] 
    ); 
} 

あなたは配列のキーの周りに引用符を置く必要がある、とあなたは配列を作成し、配列の配列の

while($row = mysql_fetch_assoc($sqlresult)) { 
    $products[$row['myidcolumn']] = $row; 
} 

あなたがこれを実行した後、コードをあなたに:

はまた、あなたは、この非常に簡単/きれいになるだろう、列名としてあなたの配列のキーを与える代わりにmysql_fetch_rowmysql_fetch_assocを、使用することができます注意してください記載されています。