0

データベースからPHPを介してEclipseの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などにアクセスできません.

誰かがこれで私を助けることができれば、それは素晴らしいことです!! :)私が正しくやっていない単純なことだと確信しています....

4

1 に答える 1

0

私は何かが欠けているかもしれませんが、結果の抽出を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 はとてもさびているので、調整が必要かもしれません。これでうまくいくことを願っています。

于 2013-10-10T12:05:50.657 に答える