2016-08-23 4 views
0

Я пытаюсь найти способ получить данные в своем приложении approiderator (Android) из моей базы данных mysql. Я использую PHP-скрипт и http-запрос для разбора json, но я делаю что-то неправильно. Я знаю, что моя структура базы данных и json работает, потому что я могу печатать ее в Интернете с помощью php, поэтому проблема, похоже, в моем js-коде или в том, как я создаю json-файл с php. То, что я пытаюсь сделать в моем примере здесь, - это иметь оповещение в моем приложении, показывающее «employee_name» из первой строки («Стив») в json.mysql data to appcelerator-titanium mobile

Может кто-нибудь, пожалуйста, помогите мне понять, что я делаю неправильно?

Я изучал этот пример https://archive.appcelerator.com/question/51201/how-to-create-mysql-query-from-titanium-mobile и другие, но безуспешно.

App.js

var xhr = Titanium.Network.createHTTPClient(); 
xhr.onload = function(){ 
var json = JSON.parse(this.responseText); 
if (!json) { 
    Titanium.API.info('Error - Null return!'); 
    return; 
} 
alert(json[1].employee_name); 
}; 
xhr.open('GET', "http://ljudy.com/test.php"); 
xhr.send(); 

test.php

<?php 

$connection = mysqli_connect("localhost","ljudycom_andreas","****","ljudycom_test") or die("Error " . mysqli_error($connection)); 


$sql = "select * from tbl_employee"; 
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection)); 

//create an array 
$emparray = array(); 
while($row =mysqli_fetch_assoc($result)) 
{ 
    $emparray[] = $row; 
} 
$fp = fopen('empdata.json', 'w'); 
fwrite($fp, json_encode($emparray)); 
fclose($fp); 

//close the db connection 
mysqli_close($connection); 
?> 

JSON

[ 
    { 
     "employee_id" : "1", 
     "employee_name" : "Steve", 
     "designation" : "VP", 
     "hired_date" : "2013-08-01", 
     "salary" : "60000" 
    }, { 
     "employee_id" : "2", 
     "employee_name" : "Robert", 
     "designation" : "Executive", 
     "hired_date" : "2014-10-09", 
     "salary" : "20000" 
    }, { 
     "employee_id" : "3", 
     "employee_name" : "Luci", 
     "designation" : "Manager", 
     "hired_date" : "2013-08-20", 
     "salary" : "40000" 
    }, { 
     "employee_id" : "4", 
     "employee_name" : "Joe", 
     "designation" : "Executive", 
     "hired_date" : "2013-06-01", 
     "salary" : "25000" 
    }, { 
     "employee_id" : "5", 
     "employee_name" : "Julia", 
     "designation" : "Trainee", 
     "hired_date" : "2014-10-01", 
     "salary" : "10000" 
    } 
] 

ответ

0

«То, что я пытаюсь сделать в моем примере здесь, чтобы иметь предупреждение в мое приложение показывает «employee_name» из первой строки («Стив») в json ».

Тогда вам нужно обратиться к первому элементу массива (json[0].employee_name). Помните, что компьютеры начинают рассчитывать на zed, а не на один.

+0

Спасибо! Это, конечно, так. –