2016-11-14 5 views
1

ich sagt „Array“ falschen Mundart verwendet werden kann, aber ich habe eine SQL-Abfrage Ich ausführen, dass gibt Daten wie folgt aus:Return SQL-Ergebnisse als einfache Arrays pro Spalte: 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 

ich möchte es 4 separate Arrays als ihre eigenen Variablen gespeichert zurückkehren haben, wie etwas aussehen:

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

Der Code, den ich zur Zeit haben, ist ein Array spuckt aber es ist alles wackelig ...

<?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); 

?> 

die mir Ergebnisse ...

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" } } 

Ich bin sicher, es ist wahrscheinlich sehr einfach, aber ich bin ein newb mit PHP und bin immer noch sehr viel lernen gibt. Schätze jede Hilfe hier!

Danke!

Antwort

1

Jede Spalte ist nur ein Element des Arrays $res.

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

Dank! Das bringt mir die PHP-Arrays - wie konvertiere ich sie nun zu Javascript? – Birkley

+0

@Birkley Was hat Javascript mit der Frage zu tun? Wie auch immer, Sie können 'json_encode', z. 'var var1 = ; – Barmar

+0

ich entschuldige mich. Das Array-Beispiel, das ich gab, war in JS, aber ich habe das nicht explizit erwähnt. Mein Fehler. Danke, für die schnelle Antwort. – Birkley

0

Sie haben die Header (erste Spalte) manuell zu tun ... dann nur Schleife durch die Ergebnisse:

$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);