2010-07-01 5 views
2

나는 알아낼 수없는 nooby PHP 질문이 있습니다! 내 데이터베이스에서 행을 통해데이터베이스 행을 반복하고 단일 배열을 만듭니다.

I 루프 : 지금 내가 그래서 그 여전히 하나의 배열에 보유 할 수있는 배열에서 배열을 포함

$data = array(); 

    while($row = sqlsrv_fetch_array($queryResult, SQLSRV_FETCH_ASSOC)){ 

     $data[] = $row; 
    } 

$data

?

덕분에 각 $row는 연관 배열이기 때문이다 모든

+0

무엇의 배열? 데이터 ID로 데이터 []를 인덱싱 할 수 있습니다. – galambalazs

+0

@galambalazs - 내 데이터베이스의 행 배열입니다. 난 그저 그것을 나중에 쉽게 처리 할 수 ​​있도록 하나의 배열로 만들고 싶습니다. 진짜 필요는 없지만 필요한 경우에 대비하는 방법을 알고 싶었습니다. – Abs

답변

2

모든 행과 열에서 반환이 당신을 얻어야한다 : 당신은 단지 하나의 열에서 값의 배열로 데이터를 원하는 경우에, 그 열을 지정 더 확실한 방법은 다음과 같습니다.

3

.

$data = array(); 
while($row = sqlsrv_fetch_array($queryResult, SQLSRV_FETCH_ASSOC)){ 
    $data[] = $row['column_name_you_want']; 
} 
+0

신난다, 고마워. 그 모든 열 이름을 입력 지루한 될거야하지만 난 당신의 방법 뒤에 아이디어를 얻을. – Abs

+4

흠 ... 그게 무슨 말이야? 모든 데이터를 올바르게 얻으려면 어쨌든 2D 배열이 필요합니다. 차원의 순서 만 바꾸면되지만 다차원 배열을 갖는 방법은 없습니다. – quantumSoup

+0

(1) 연관 배열이므로 모든 열 이름을 적어도 어딘가에 입력하여 데이터에 액세스해야합니다. (2) 데이터로 수행해야하는 작업에 따라 시간이 낭비 될 수 있습니다. 행을'$ data'에 넣으면 첫 번째 행의'column_name'에 접근하기 위해'$ data [0] [ 'column_name']과 같은 것을 항상 할 수 있습니다. – takteek

2

모든 값이 단일 차원 배열

$data = array(); 

while($row = sqlsrv_fetch_array($queryResult, SQLSRV_FETCH_ASSOC){ 
    $values = array_values($row); 
    foreach($values as $value) 
    { 
     $data[] = $value; 
    } 
} 
0

이 질문은 오래된 질문이지만, 이에 대한 해결책도 찾고있었습니다. foreach는 루프에서 직접 사용할 수

function mssql_query($conn, $query, array $bind = array()) { 
    $stmt = sqlsrv_query($conn, $query, $bind); 
    if($stmt=== false) { 
     // do something with the error information 
     // die(print_r(sqlsrv_errors(), true)); 
     return array(); 
    } 
    sqlsrv_execute($stmt); 
    $data = array(); 
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { 
     array_push($data, $row); 
    } 
    return $data; 
} 

: 등

$ CONN를 계산하기위한 변수에

foreach(mssql_query($conn, $query) as $row) { 
    echo $row['column']; 
} 

또는 할당은 나를 위해 작동 다음과 함께했다 물론 연결 (PHP.net에서) :

$serverName = "server.example.com"; // remember to append instance if applicable 
$connectionInfo = array("Database"=>"dbname", "UID"=>"username", "PWD"=>"password"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 
if($conn === false) { 
    die(print_r(sqlsrv_errors(), true)); 
} 
관련 문제