“发票”没有价值

时间:2014-10-20 06:11:17

标签: java php android json

任何人都知道我的“发票”没有价值的原因是什么?通过php响应,它被称为发票。在这一行String invoice = jtransaction.getString("invoice");

public static ArrayList<Transaction> getMemberTransactions(String memberId)
{
  String url= second_URL + "get_member_transactions.php";
  String method = GET;
  List<NameValuePair> params = new ArrayList<NameValuePair>();
  params.add(new BasicNameValuePair("member_id", memberId));
  JSONObject result = makeHttpRequest(url, method, params);

  try {

    if (result.getInt("success") == 1) {
      ArrayList<Transaction> list = new ArrayList<Transaction>();
      JSONArray jItems = result.getJSONArray("transaction_info");
      int count = jItems.length();
      for (int i = 0; i < count; i++) {
        JSONObject jtransaction = jItems.getJSONObject(i);

        SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT,
            Locale.US);
        Date date = null;
        try {
          date = sdf.parse(jtransaction.getString("date"));
        } catch (ParseException e) {
          e.printStackTrace();
        }
        String invoice = jtransaction.getString("invoice");
        String warehouse = jtransaction.getString("warehouse");

        Transaction transaction = new Transaction(date,invoice, warehouse);
        list.add(transaction);

      }
      return list;
    }

  } catch (JSONException e) {
    e.printStackTrace();
  }
  return null;

}

PHP

while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) 
{
  $transactionInfo[]["date"] = get_date($row['Transaction_Date']);
  $transactionInfo[]["invoice"] = $row['Invoice_No'];
  $transactionInfo[]["warehouse"] = $row['WarehouseName'];
}

if(!empty($transactionInfo)===true)
{
  response_success($transactionInfo);
}

function response_success($transactionInfo) {
  $response = array();
  $response["success"] = 1;
  $response["transaction_info"] = $transactionInfo;
  echo json_encode($response);
  exit;
}

1 个答案:

答案 0 :(得分:0)

此:

$transactionInfo[]["date"] = get_date($row['Transaction_Date']);
$transactionInfo[]["invoice"] = $row['Invoice_No'];
$transactionInfo[]["warehouse"] = $row['WarehouseName'];

将在$transactionInfo中创建三个单独的项目,其中一个包含date,一个包含invoice,另一个包含warehouse

示例:

array(3) {
  [0]=>
  array(1) {
    ["date"]=>
    string(10) "2014-10-20"
  }
  [1]=>
  array(1) {
    ["invoice"]=>
    string(5) "08/15"
  }
  [2]=>
  array(1) {
    ["warehouse"]=>
    int(13)
  }
}

我想你想把它们放在一个项目中,所以你必须像这样构建它:

$item["date"] = get_date($row['Transaction_Date']);
$item["invoice"] = $row['Invoice_No'];
$item["warehouse"] = $row['WarehouseName'];
// now add the item to the array
$transactionInfo[] = $item;

示例:

array(1) {
  [0]=>
  array(3) {
    ["date"]=>
    string(10) "2014-10-20"
    ["invoice"]=>
    string(5) "08/15"
    ["warehouse"]=>
    int(13)
  }
}