daha iyi yol varsa gerçekten emin değilim. Bunu deneyebilir misin?
$rows = $statement->fetchAll(PDO::FETCH_ASSOC);
$languages = array();
function getLangs($col, $row) {
$languages[$col['id']] = $col['name'];
}
array_walk($rows, 'getLangs');
Foreach döngülerinde sorun yok. Aslında sahip olduklarını kullanırdım. Bundan daha temiz almak zordur ...
GÜNCELLEME:
sonra dikkatlice yeniden okuma ne GERÇEKTEN sormanız gereken böyle bir şekilde SORGUYU biçimlendirebilirsiniz olup olmadığıdır soru, bu sonuçlar farklı bir biçimde döndürülür.
normal SELECT sorgusunun döndürülür yolu thusly geçerli:
// Query result is only one row, with each 'id' as column name
// And the 'name' from the same row as it's value...
+---------+----------+-----+-----+-----+
| 1 | 2 | ... | ... | ... |
+---------+----------+-----+-----+-----+
| svenska | engelska | ... | ... | ... |
+---------+----------+-----+-----+-----+
$row = array(
row_1 => array(
1 => "svenska",
2 => "engelska",
... => "...",
... => "...",
... => "..."
)
)
$languages = $row[row_1];
$languages[$id] = $name;
Ben: Bazı yolu BU gibi sorgusunun sonuç döndürmesi için
+----+----------+
| id | name |
+----+----------+
| 1 | svenska |
| 2 | engelska |
| .. | ... |
| .. | ... |
+----+----------+
$row = array(
row_1 => array(
id => "1",
name => "svenska"
),
row_2 => array(
id => "2",
name => "engelska"
),
row_3 => array(
id => "...",
name => "..."
),
row_4 => array(
id => "...",
name => "..."
)
)
$row[$row_number][$column_name] = $value
Ne soruyorsun olduğunu Tam olarak dürüst olmak gerekirse SQL'de CAN do this emin değilim. Yapabilseydin, buna karşı da tavsiye ederim. Bir ölçekleme masası için korkunç olurdu. Tablonuz statikse, neden daha önce bahsetmek istediğim şekilde biçimlendirmiyorsunuz? Neden bir içerme dosyasında sadece statik bir PHP dizisinde var? `O zaman $` tarafından referans verebilir, siz `$ satır = $ Ġfade> fetchAll (PDO :: FETCH_ASSOC) do, PDO ile bir ilişkisel dizi dönmek istiyorsanız
unuttu satırlar [$ row_num] [$ col_name] ' – jdstankosky
Şimdi ne için soruyorsun anlıyorum. Lütfen özel sorgunuzu ele almak için güncellenmiş yanıtıma bakın. – jdstankosky