2014-10-01 3 views
0

어떻게하면 다음과 같은 MySQL 쿼리에서 다차원 배열을 직접 가질 수 있습니까? 우리가 그것을 인쇄 할 경우php를 사용하여 mysql 쿼리에서 다차원 배열을 만드는 방법은 무엇입니까?

$result = mysqli_query($connection, $query); 

while ($row = mysqli_fetch_array($result)){ 
    $table[] = ($row['field1'].'~'.$row['field2'].'~'.$row['field3'].'~'.$row['field4']); 
} 

것은 우리가 다음 한 결과 :

$query = SELECT * FROM table WHERE field1 = 1; 

나는 다음 시도했다 나는 다차원 배열을 가지고 그것을 폭발이 그런

array(
    [0] => 1 ~ ALFA ~ beta ~ 57 
    [1] => 1 ~ BETA ~ gamma ~ 18 
    [2] => 1 ~ GAMMA ~ delta ~ 24 
    ... 
    [999] => 1 ~ ZETA ~ theta ~ 19 
) 

을하는 I 소원 :

foreach ($table as $value) { 
    $tableWithSubArrays[] = explode("~", $value); 
} 

그러면 우리는 그것을 얻었습니다 :

Array(
    [0] => Array 
     (
      [0] => 1 
      [1] => ALFA 
      [2] => beta 
      [3] => 57 
    ) 

    [1] => Array 
     (
      [0] => 1 
      [1] => BETA 
      [2] => gamma 
      [3] => 18 
    ) 

    ... 

    [999] => Array 
     (
      [0] => 1 
      [1] => ZETA 
      [2] => theta 
      [3] => 19 
    ) 

쿼리에서 다차원 배열로 직접 변환하는 다른 방법이 있습니까?

미리 감사드립니다.

답변

1
while ($row = mysqli_fetch_array($result)){ 
    $table[] = $row; 
} 
+0

와우! 그것은 작았 다! :) 고마워, @ Cheery !!! 그리고 몇 가지 값을 원한다면 키 [1]과 키 [3]를 보겠습니다. –

+0

@AloysiadeArgenteuil 당신이 무엇에 관해서 묻고 있는지 확실하지 않습니다. 모든 열을 넣고 싶지는 않습니다. 데이터베이스에서 요청하지 마십시오. 'SELECT field2, field4 FROM table WHERE field1 = 1; – Cheery

+0

네, 맞습니다. @Cheery, 나는 명확하지 않았습니다. ;-) 데이터베이스에서 모든 것을 선택하고 싶지만 배열은 일부 필드 ... 어레이 ( [0] => 어레이 ( [0] => ALFA [1] => 57 ) [1] => 어레이 ( [0] => BETA가 [1] => 18 ) 등) –

관련 문제