PHP iki boyutlu ilişkisel dizi

1 Cevap

Benim kodda bir sql db (üç sütun) veri alıyorum ve ben bir ilişkisel PHP dizide satırları saklamak istiyorum. Ben böyle değerleri almak böylece bir anahtar olarak veritabanından satır id kullanmak istiyorum çünkü dizi çok boyutlu olmalıdır:

$ Ürünleri ["f84jjg"] ["name"]

$ Ürünleri ["245"] ["kod"]

Ben aşağıdaki kodu kullanarak denedim ama çalışmıyor:

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

Ayrıca, bir değişken alınması halinde nasıl anahtarını başvurmalıdır? Ne yapmak istiyorum:

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

Bu çalışır mı?

1 Cevap

Bu içeriği benzersiz bir tanımlayıcı (başka bir satır geçersiz olabilir) row[0] 's varsayarak, bunu yapmak gerekir:

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

Sen dizi anahtarları tırnak koymak gerekir, ve diziler dizinin bir dizi yaratmak idi.

Ayrıca mysql_fetch_assoc instead of mysql_fetch_row, bu çok daha kolay / temizleyici yapacak sütun adları olarak dizi anahtarları vermek hangi kullanabilirsiniz not:

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

Bunu yaptıktan sonra, sizin tarif kod çalışacak.