나는 친구 목록을 만들려는 앱에서 작업하고 있습니다. 이를 위해 나는 사용자의 모든 친구들을 만나서 내 응용 프로그램에 보여주고 싶습니다. 그러나 그것은 단지 1 명의 사용자가 아닌 모든 사용자를 보여줍니다. 누군가 나를 도울 수 있습니까? 여기 내 코드 : PHP :JSON Array의 전체 값을 가져옵니다
<?php
// array for JSON response
$response = array();
// Datenbankverbindungsklasse einbinden
require_once(dirname(__FILE__).'/db_connect.php');
// Klasseninstanz und -verbindung herstellen
$db = new DB_CONNECT();
$con = $db->connect();
// check for post data
if (isset($_GET["bid"])) {
$bid = intval($_GET['bid']);
$query = sprintf("SELECT Benutzer.benutzername
FROM Benutzer
INNER JOIN Freundesliste
ON benutzer_ID = Freundesliste.Bid_2 and Freundesliste.Bid_1='%d'",
mysql_real_escape_string($bid, $con));
$result = mysql_query($query);
if (!empty($result)) {
// check for empty result
if (mysql_num_rows($result) > 0) {
$result = mysql_fetch_array($result);
$benutzer = array();
$benutzer["benutzername"] = $result["benutzername"];
// success
$response["success"] = 1;
// user node
$response["benutzer"] = array();
array_push($response["benutzer"], $benutzer);
// echoing JSON response
echo json_encode($response);
} else {
// no benutzer found
$response["success"] = 0;
$response["message"] = "No benutzer found";
// echo no users JSON
echo json_encode($response);
}
} else {
// no benutzer found
$response["success"] = 0;
$response["message"] = "No benutzer found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
$db->close();
?>
안드로이드 :
/** Vorhandene Freunde laden */
class GetFriends extends AsyncTask<String, String, String> {
/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(FriendlistActivity.this);
pDialog.setMessage("Freunde werden geladen...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
/**
* Freunde im Hintergrund laden
* */
protected String doInBackground(String... params) {
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
// Check for success tag
int success;
try {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("bid", bid));
// getting user data by making HTTP request
// Note that user data url will use GET request
JSONObject json = jsonParser.makeHttpRequest("LINK", "GET", params);
// json success tag
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// successfully received user data
JSONArray userObj = json.getJSONArray(TAG_USER); // JSON Array
// get all user object from JSON Array
for(int i=0;i<userObj.length();i++){
json_data = userObj.getJSONObject(i);
String friend = json_data.get(TAG_NAME).toString();
listadapter.add(friend);
}
friendlistview.setAdapter(listadapter);
}else{
// user with bid not found
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
return null;
}
/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog once got all data
pDialog.dismiss();
}
}
결과에서 한 행만 가져 왔습니다. – AbraCadaver