2016-11-14 8 views
1

나는 "배열"라는 잘못된 고장을 사용하고있을 수 있습니다,하지만 난 실행 해요 SQL 쿼리가 그 다음과 같은 데이터를 반환 :반환 SQL 컬럼 당 단순한 배열 결과 : PHP OCI를

HR MAILED FAILED BOUNCED 
06 1442 0 0 
07 825218 185 2433 
08 210672 496 2019 
09 254125 388 2854 
10 159744 366 2725 
11 164515 360 2413 
12 1246917 547 3329 
13 73837 269 1487 

나는 그것이 같은 것을 보면 자신의 변수로 저장 4 개 별도의 배열을 반환해야 싶습니다 ...

$var1 = ["hr","mailed","failed","bounced"] 
$var2 = [1442, 825218, 21062, 254125, 159744, 164515, 1246917, 73837] 
$var3 = ...results from 2nd column... 
$var4 = ...results from 3rd column... 

코드 나는 현재 배열 뱉어되어있다을하지만 모든 남았습니다의

<?php 
include 'includes/connect.php'; 
include 'includes/queries.php'; 

$stid = oci_parse($conn, $mfg_last6); 
oci_execute($stid); 
$ncols = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_COLUMN); 

echo "$ncols rows fetched<br>\n"; 
var_dump($res); 

oci_free_statement($stid); 
oci_close($conn); 

?> 
나에게의 결과를 제공

...

8 rows fetched 
array(4) { ["HR"]=> array(8) { [0]=> string(2) "06" [1]=> string(2) "07" [2]=> string(2) "08" [3]=> string(2) "09" [4]=> string(2) "10" [5]=> string(2) "11" [6]=> string(2) "12" [7]=> string(2) "13" } ["MAILED"]=> array(8) { [0]=> string(4) "1442" [1]=> string(6) "825218" [2]=> string(6) "210672" [3]=> string(6) "254125" [4]=> string(6) "159744" [5]=> string(6) "164515" [6]=> string(7) "1247164" [7]=> string(6) "123649" } ["FAILED"]=> array(8) { [0]=> string(1) "0" [1]=> string(3) "185" [2]=> string(3) "496" [3]=> string(3) "388" [4]=> string(3) "366" [5]=> string(3) "360" [6]=> string(3) "547" [7]=> string(3) "446" } ["BOUNCED"]=> array(8) { [0]=> string(1) "0" [1]=> string(4) "2433" [2]=> string(4) "2019" [3]=> string(4) "2854" [4]=> string(4) "2725" [5]=> string(4) "2413" [6]=> string(4) "3329" [7]=> string(4) "2352" } } 

나는 아마 매우 간단 확실 해요,하지만 난 PHP와 newb 해요 아직도 많이 배우고있다. 이것에 대한 도움을 주시면 감사하겠습니다!

감사합니다.

답변

1

각 열은 $res 배열의 요소 일뿐입니다.

$var1 = array_keys($res); 
$var2 = $res['MAILED']; 
$var3 = $res['FAILED']; 
$var4 = $res['BOUNCED']; 
+0

감사합니다! 그게 PHP 배열을 가져옵니다 - 어떻게 내가 그들을 자바 스크립트로 변환합니까? – Birkley

+0

@ Birkley Javascript가이 질문과 관련이있는 것은 무엇입니까? 어쨌든'json_encode'를 사용할 수 있습니다. 'var var1 = ; ' – Barmar

+0

사과드립니다. 내가 제공 한 배열 예제는 JS에 있었지만 특별히 언급하지 않았다. 내 잘못. 빠른 응답에 감사드립니다. – Birkley

0

당신은 헤더 (첫 번째 열)을해야 할 것 수동으로 ... 결과를 통해 다음 단지 루프 :

$final_array = ["hr","mailed","failed","bounced"]; 
while (($row = oci_fetch_array($stid, OCI_BOTH)) != false) { 
    $final_array["hr"] = $row['hr']; 
    $final_array["mailed"] = $row['mailed']; 
    $final_array["failed"] = $row['failed']; 
    $final_array["bounced"] = $row['bounced']; 
} 

var_dump($final_array);