从Mysql计数到modelClass android studio
Posted
技术标签:
【中文标题】从Mysql计数到modelClass android studio【英文标题】:getting count from Mysql to modelClass android studio 【发布时间】:2020-09-03 14:15:33 【问题描述】:尝试将 mysql 表的 COUNT 行添加到 ModelCLass 中,我搜索了几乎所有要使用的方法,这是唯一有意义但无法理解问题或我出错的地方,如果有人能提供帮助,那就太好了。 ..提前谢谢
错误
D/Volley: onError: com.androidnetworking.error.ANError: org.json.JSONException: Value "count":4 of type org.json.JSONObject cannot be converted to JSONArray
$query = "SELECT ML.* FROM search ML INNER JOIN activity M ON M.activity_id = ML.activity_id ORDER BY date_from ASC";
$sql = mysqli_query($conn, $query);
$num_rows = mysqli_num_rows($sql);
$output = array("count" => $num_rows);
$result = array();
while($row = mysqli_fetch_array($sql))
array_push($result, array(
'activity_img'=>$row[8],
'company_name'=>$row[9],
'user_id'=>$row[10]));
echo json_encode($output);
echo json_encode($result);
java
private void getData()
AndroidNetworking.get("http://10.0.2.2/Final/search.php")
.setPriority(Priority.LOW)
.build()
.getAsJSONArray(new JSONArrayRequestListener()
@Override
public void onResponse(JSONArray response)
Log.d(TAG, "onResponse: " + response);
try
for (int i = 0; i < response.length(); i++)
JSONObject data = response.getJSONObject(i);
promotModelClassList.add(new PromotModelClass(
data.getString("activity_img"),
data.getString("company_name"),
data.getJSONArray("output").getJSONObject(0).getString("count")
));
PromotAdapter adapter = new PromotAdapter(promotModelClassList, getContext());
promotRecycler.setAdapter(adapter);
catch (JSONException e)
e.printStackTrace();
@Override
public void onError(ANError error)
Log.d(TAG, "onError: " + error);
);
【问题讨论】:
看看这个:***.com/q/12722468/9152105 @mohosyny 我检查了帖子和答案,但我无法解决我的问题。我完美地从结果数组中得到所有结果,但是当我尝试添加另一个包含计数行的数组时解决问题.. 【参考方案1】:在即兴创作了很多之后,我知道我哪里错了
所以对于 php
$output = array("count" => $num_rows);
$result = array();
while($row = mysqli_fetch_array($sql))
array_push($result, array(
'activity_img'=>$row[8],
'company_name'=>$row[9],
'user_id'=>$row[10]));
delete echo删除$输出
while($row = mysqli_fetch_array($sql))
array_push($result, array(
'count'=>$num_rows,
'activity_img'=>$row[8],
'company_name'=>$row[9],
'user_id'=>$row[10]));
从那以后我可以将计数作为字符串,所以我改变了
data.getJSONArray("output").getJSONObject(0).getString("count")
到
data.getString("count")
【讨论】:
以上是关于从Mysql计数到modelClass android studio的主要内容,如果未能解决你的问题,请参考以下文章