2016-04-25 15 views
-1

Ich versuche, wie dies ein Array zu zeigen (zeigen id_supplier und nama_supplier)Get Array von Datenbank json_encode

{"1":"PT Kesatu","2":"PT Kedua","3":"PT Ketiga","4":"PT Keempat"} 

aus supplier Tabelle. Ich habe den Code verwendet:

$query = mysql_query("SELECT id_supplier, nama_supplier FROM supplier ORDER BY nama_supplier"); 
$supplier = array(); 
while($row = mysql_fetch_object($query)){ 
$supplier = $row; 
} 
echo json_encode($supplier); 

aber es zeigt mir nur 1 Datensatz, und die Ergebnisse sind wie diese

{"id_supplier":"5","nama_supplier":"PT Unggas Makmur"} 
+2

nicht Verwenden Sie 'mysql_ *' Funktionen, werden sie als PHP 5.5 als veraltet und werden zusammen in PHP 7.0 entfernt. Benutze ['mysqli'] (http://php.net/manual/de/book.mysqli.php) oder [' pdo'] (http://php.net/manual/de/book.pdo.php) stattdessen. [Und deshalb sollten Sie nicht mysql_ * '-Funktionen verwenden (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). –

Antwort

1

Es wäre:

while($row = mysql_fetch_object($query)){ 
$supplier[] = $row; // not only $supplier - [] will automatically increment the index 
} 
1

Verwenden [] Array .

$query = mysql_query("SELECT id_supplier, nama_supplier FROM supplier ORDER BY nama_supplier"); 
$supplier = array(); 
while($row = mysql_fetch_object($query)){ 
$supplier[] = $row; 
} 
echo json_encode($supplier); 
0

Sie benötigen [] Array verwenden:

$query = mysql_query("SELECT id_supplier, nama_supplier FROM supplier ORDER BY nama_supplier"); 
$supplier = array(); 
while($row = mysql_fetch_object($query)){ 
$supplier[] = $row; // not only $supplier ,but [] will increment, and get all the values 
} 
echo json_encode($supplier); 
+0

Wie verbessert dies die beiden bereits bereitgestellten Antworten? – YvesLeBorg

+0

@ YvesLeBorg, ich denke, du hast nicht überprüft. Beide Antworten wurden fast gleichzeitig mit Null Zeitunterschied gegeben. Du hättest es zuerst sehen sollen, bevor du etwas unternimmst – Nehal

+0

Leider habe ich 'checked' ... obwohl niemand es jetzt sehen kann, kamen beide anderen Antworten 6 Minuten später zusammen. – YvesLeBorg