Java 如何在Android中从phpmyadmin数据库中获取所有行?
如何从phpmyadmin数据库中获取所有行并在Android中显示它们 当我得到一排时,一切都很好。当我尝试读取所有行时,只得到最后一行 我的php:Java 如何在Android中从phpmyadmin数据库中获取所有行?,java,android,phpmyadmin,Java,Android,Phpmyadmin,如何从phpmyadmin数据库中获取所有行并在Android中显示它们 当我得到一排时,一切都很好。当我尝试读取所有行时,只得到最后一行 我的php: <?php $con = mysqli_connect("localhost", "id831385_rootroot", "rootroot", "id831385_bukrisk"); $accept= $_POST["accept"]; $statement = mysqli_prepare($con, "SELECT * FR
<?php
$con = mysqli_connect("localhost", "id831385_rootroot", "rootroot", "id831385_bukrisk");
$accept= $_POST["accept"];
$statement = mysqli_prepare($con, "SELECT * FROM payments WHERE accept= ?");
mysqli_stmt_bind_param($statement, "i", $accept);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $id_pay, $id_user, $value, $accept);
$response = array();
$response["success"] = false;
while(mysqli_stmt_fetch($statement)){
$response["success"] = true;
$response["id_pay"] = $id_pay;
$response["id_user"] = $id_user;
$response["value"] = $value;
$response["accept"] = $accept;
}
echo json_encode($response);
?>
我的java请求:
public class GetPaymentsRequest extends StringRequest {
private static final String LOGIN_REQUEST_URL = "https://pacinho.000webhostapp.com/PaymentsList.php";
private Map<String, String> params;
public GetPaymentsRequest(String accept, Response.Listener<String> listener) {
super(Request.Method.POST, LOGIN_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("accept", accept);
}
@Override
public Map<String, String> getParams() {
return params;
}
}
公共类GetPaymentsRequest扩展了StringRequest{
私有静态最终字符串登录\u请求\u URL=”https://pacinho.000webhostapp.com/PaymentsList.php";
私有映射参数;
公共GetPaymentsRequest(字符串接受、响应、侦听器){
super(Request.Method.POST,LOGIN\u Request\u URL,listener,null);
params=新的HashMap();
参数put(“接受”,接受);
}
@凌驾
公共映射getParams(){
返回参数;
}
}
活动中的我的java代码:
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
int id_pay = jsonResponse.getInt("id_pay");
int id_user = jsonResponse.getInt("id_user");
int value = jsonResponse.getInt("value");
//Toast.makeText(myView.getContext(),""+id_pay, Toast.LENGTH_SHORT).show();
String id_payS = String.valueOf(id_pay);
String id_userS = String.valueOf(id_user);
String valueS = String.valueOf(value);
showPay.setText(showPay.getText() + " " + id_payS);
//UserPayments UP = new UserPayments(id_payS,id_userS,valueS);
//paymentsList.add(UP);
//paymentsCustomAdapter.notifyDataSetChanged();
} else {
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
GetPaymentsRequest paymentsRequest = new GetPaymentsRequest("0", responseListener);
RequestQueue queue = Volley.newRequestQueue(myView.getContext());
queue.add(paymentsRequest);
Response.Listener responseListener=newresponse.Listener(){
@凌驾
公共void onResponse(字符串响应){
试一试{
JSONObject jsonResponse=新的JSONObject(响应);
boolean success=jsonResponse.getBoolean(“success”);
如果(成功){
intid_pay=jsonResponse.getInt(“id_pay”);
int id_user=jsonResponse.getInt(“id_user”);
int value=jsonResponse.getInt(“value”);
//Toast.makeText(myView.getContext(),“”+id\u pay,Toast.LENGTH\u SHORT.show();
String id_payS=String.valueOf(id_pay);
String id\u userS=String.valueOf(id\u user);
字符串值=String.valueOf(值);
showPay.setText(showPay.getText()+“”+id\u支付);
//UserPayments UP=新用户付款(id_Payments、id_userS、valueS);
//工资清单。加起来;
//paymentsCustomAdapter.notifyDataSetChanged();
}否则{
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
};
GetPaymentsRequestPaymentsRequest=新的GetPaymentsRequest(“0”,responseListener);
RequestQueue=Volley.newRequestQueue(myView.getContext());
添加(付款请求);
对于您获取的每一行,PHP代码只是覆盖了$response
的值。您应该创建一个数组并将所有行放入其中
while(mysqli_stmt_fetch($statement)){
$payment = array();
$payment["success"] = true;
$payment["id_pay"] = $id_pay;
$payment["id_user"] = $id_user;
$payment["value"] = $value;
$payment["accept"] = $accept;
$response[] = $payment;
}
您还需要修改android端的代码来处理数组。PhpMyAdmin不是数据库。它是一种管理工具。您正在使用的真实数据库(可能)是MySQL。对不起。。我不知道你是怎么做的。如何在Android中做到这一点。谢谢@奥尔帕辛霍这可能会帮你