더 좋은 방법이 있다면 정말 확실하지. 너 이걸 시험해 볼 수 있니?
$rows = $statement->fetchAll(PDO::FETCH_ASSOC);
$languages = array();
function getLangs($col, $row) {
$languages[$col['id']] = $col['name'];
}
array_walk($rows, 'getLangs');
foreach 루프에는 아무런 문제가 없습니다. 나는 네가 가진 것을 실제로 사용할거야. 그것은보다 청소기 얻기 어렵다 ...
UPDATE :
후 신중하게 다시 읽는 당신이 정말로 요구해야하는 것은 당신이 그런 방법으로 쿼리를 포맷 할 수 있는지 여부를 귀하의 질문에, 그 결과 다른 형식으로 반환됩니다.
일반 SELECT 쿼리가 반환되는 방법은 thusly 히입니다 :
// 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;
나 ': 몇 가지 방법은 다음과 같이 쿼리 결과를 반환 할
+----+----------+
| 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
당신은 무엇을 요구하는지 것은 난 완벽하게 정직하게, SQL에서 do this 수 있습니다 완전히 모르겠다. 당신이 할 수 있다고하더라도 나는 또한 그것을 반대하는 것이 좋습니다. 스케일링 테이블에서는 끔찍한 일입니다. 당신의 테이블이 정적이라면, 내가 방금 언급 한 방식으로 포맷하지 않으시겠습니까? 인클루드 파일의 정적 인 PHP 배열에있는 것이 아닌가? `그럼 당신은 $`에 의해 참조 할 수 있습니다, 당신은`$ 행 = $ 명령문 -> fetchAll (PDO :: FETCH_ASSOC)는 않는, PDO와 연관 배열을 반환하려면
잊어 행 [$ row_num] [$ col_name]' – jdstankosky
나는 당신이 지금 무엇을 요구하고 있는지 이해합니다. 귀하의 특정 문의 사항을 해결하기 위해 업데이트 된 답변을 참조하십시오. – jdstankosky