Android Volley向mysql发布了几行数据

时间:2015-08-25 22:12:23

标签: android android-volley

我发布了超过100行的数据从android到mysql,但只插入了最后一行,这是我的代码

$html = "<<YOUR_HTML_STRING>>";
$arr = array();
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

$xpath = new DOMXPath($dom);
$tds = $xpath->query('//td');

foreach($tds as $td) { 
   array_push($arr, $td->nodeValue);
}

print_r($arr);

我想到了jsonarrayrequest,但是大多数例子也发布了一行,这可能是齐射吗?请帮助thanx。

2 个答案:

答案 0 :(得分:0)

这里的问题是您的服务器端应用程序大多覆盖了这些值。 而不是调用您的参数item_name将其命名为item_name[],而在服务器端代码中将其视为数组。

答案 1 :(得分:0)

params.put("item_name", "Droider");
params.put("item_name", "chuyu");
params.put("item_name", "solo");
params.put("item_name", "shaq");

这些不一样(不要重复,因为你要覆盖)。你可以像这样添加

String[] datas = {"Droider","chuyu","solo","shaq"};
String item_name = "item_name";

for (datas : data) {


public void insert(String item_name, String data) {
    String url = "http://myurl";
    Map<String, String> params = new HashMap<String, String>();
    params.put(item_name, data);



    CustomRequest jsObjRequest = new CustomRequest(Request.Method.POST, url, params, new Response.Listener<JSONObject>() {

        @Override
        public void onResponse(JSONObject response) {
            Log.d("Response: ", response.toString());

        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError response) {
            Log.d("Response: ", response.toString());
        }
    });
    MyApplication.getInstance().addToReqQueue(jsObjRequest);
}

}