2016-05-10 1 views
1

Ich versuche Array von Zeilenobjekt aus Tabelle in PHP zu erstellen. Ich verwende den folgenden Code, um es zu tun, aber ich bekomme nicht das erwartete Ergebnis.Wie Element in Array mit verschachtelten für jede Schleife in PHP hinzufügen

Ich möchte das folgende Format:

[{"fName":"apple","fprice":11,"quantity":2},{"dName":"orange","fprice":31,"quantity":6}] 

Aber mit dem folgenden Code, den ich nur die letzte Zeile letzte Spalte Wert bin immer:

$query = 'select fname,fprice,imgpath,fdesc,cid from food_data'; 
$stid = oci_parse($conn, $query); 
oci_execute($stid, OCI_DEFAULT); 
while ($row = oci_fetch_assoc($stid)) { 
    foreach ($row as $key=>$val) { 
     //echo $item." <br />"; 
     $data = array(
      array(''.$key.''=>''.$val.'')); 
    } 
    //echo "\n"; 
} 
+0

Verwenden Sie 'array_push()' während 'foreach' Schleife. – mitkosoft

Antwort

1

Noch einfacher oci_fetch_all() zu verwenden:

oci_fetch_all($stid, $data, null, null, OCI_FETCHSTATEMENT_BY_ROW); 

$data wird ein Array von Zeilen sein, die Anordnungen von Spaltennamen und Spaltendaten sind.

+0

Wirklich dieser ist viel einfacher ...... :) –

1
$query = 'select fname,fprice,imgpath,fdesc,cid from food_data'; 
$stid = oci_parse($conn, $query); 
oci_execute($stid, OCI_DEFAULT); 
$res = array(); 
while ($row = oci_fetch_assoc($stid)) { 
    $res[] = $row; 
} 

Nach diesem $res enthält, was Sie wollen.

+0

Danke, dass es funktioniert ... –

+0

Ich bin froh, dass es hilfreich ist. Sie können die Antwort als richtig markieren;) – heximal

Verwandte Themen