我发布了超过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。
答案 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);
}
}