从php中的SQL数据库到Java中的多个值作为单独的变量

从php中的SQL数据库到Java中的多个值作为单独的变量,java,php,android,sql,json,Java,Php,Android,Sql,Json,我试图在eclipse中通过php从数据库检索多个值到android java。 我正在设法获得json数组的所有变体,除了我需要的那个 我的数据库是: **Aircraft** **Status** A870_870 1 A870_871 1 A870_872 1 A870_873 1 A870_874 1 A870_875

我试图在eclipse中通过php从数据库检索多个值到android java。 我正在设法获得json数组的所有变体,除了我需要的那个

我的数据库是:

**Aircraft**        **Status**
  A870_870              1
  A870_871              1
  A870_872              1
  A870_873              1 
  A870_874              1 
  A870_875              1
  A870_876              2
  A870_877              1
  A870_878              2
  A870_879              2 
  A870_880              2
  A870_881              0
  A870_882              0
  A870_883              0
  A870_884              0
  A870_885              0
我的android应用程序读取它所需的格式是:

    {"A70_870":"1","A70_871":"1","A70_872":"1","A70_873":"1","A70_874":"1",
"A70_875":"1","A70_876":"2","A70_877":"1","A70_879":"2","A70_878":"2",
"A70_880":"2","A70_881":"0","A70_882":"0","A70_883":"0","A70_884":"0",
"A70_885":"0"}
我一直在尝试不同的“while”循环各种其他变体,并设法获得除我需要的组合之外的各种组合。肯定有办法

我最近的PHP尝试如下:

<?php
$con = mysqli_connect("localhost","root","", "mytestdatabase"); 

 if (mysqli_connect_errno()) { 
     echo 'Database connection error: ' . mysqli_connect_error(); 
     exit(); 
     } 

$userdetails = mysqli_query($con, "SELECT *FROM aircraft_status"); 

$row = mysqli_fetch_row($userdetails) ;

$result_data = array(

    'A70_870'=>$row[1],
    'A70_871'=>$row[1],
    'A70_872'=>$row[1],
    'A70_873'=>$row[1],
    'A70_874'=>$row[1],
    'A70_875'=>$row[1],
    'A70_876'=>$row[1],
    'A70_877'=>$row[1],
    'A70_879'=>$row[1],
    'A70_878'=>$row[1],
    'A70_880'=>$row[1],
    'A70_881'=>$row[1],
    'A70_882'=>$row[1],
    'A70_883'=>$row[1],
    'A70_884'=>$row[1],
    'A70_885'=>$row[1],);

echo json_encode($result_data);
?>

它给出了正确的格式,但显然只读取第1行。我无法访问3、5、7等


如果有人能在这方面帮助我,那就太好了!!:)我确信这很简单,但我做得不对….

我可能遗漏了一些东西,但这不仅仅是在while循环中包装结果提取:

$userdetails = mysqli_query($con, "SELECT *FROM aircraft_status"); 

$result_data = array();

if ($userdetails) {
  while($row = mysql_fetch_array($userdetails)) {
    // $row[0] being aircraft and $row[1] being status
    array_push($result_data , $row[0], $row[1]);
  }

}
else {
  echo mysql_error();
}

echo json_encode($result_data);

我的PHP非常生锈,因此可能需要调整。希望这能让您走上正轨。

非常接近,虽然它是正确的值,但它是一个32值数组。我不确定术语,但我需要一个{16:16}类型的数组。您代码的结果是:[“A70_870”、“1”、“A70_871”、“1”、“A70_872”、“1”、“A70_873”、“1”、“A70_874”、“1”、“A70_875”、“1”、“A70_876”、“2”、“A70_878”、“2”、“A70_879”、“2”、“A70_880”、“2”、“A70_882”、“0”、“A70_882”、“0”、“A70_883”、“0”、“A70_884”、“0”、“A70_884”、“0”、“A70_885”]$状态[$rows['Aircrafter']=$rows['status'];