php之android restful webservice将数据数组发送到php并在服务器中检索数据

lori 阅读:34 2025-05-04 20:05:19 评论:0

我想将值数组从 android 发送到 php 以插入到 MySQL 数据库中。这是我的 android 代码。

List<NameValuePair> params = new ArrayList<NameValuePair>(); 
 
    for (String receiver : receivers) { 
        params.add(new BasicNameValuePair("receiverid", receiver)); 
    } 
    params.add(new BasicNameValuePair("senderid", args[0])); 
    params.add(new BasicNameValuePair("subject", args[1])); 
    params.add(new BasicNameValuePair("message", args[2])); 
    params.add(new BasicNameValuePair("msgdt", args[3])); 
    params.add(new BasicNameValuePair("msgtime", args[4])); 
    // params.add(new BasicNameValuePair("receiverid[]", args[5])); 
 
    JSONParser jsonParser = new JSONParser(); 
    JSONObject json = jsonParser.makeHttpRequest( 
            Constants.URL_admin_send_message, "POST", params); 
 
    try { 
 
        // JSONArray categories = json.getJSONArray("success"); 
 
        String val = json.getString("success"); 
 
        if (val.equals("1")) { 
            status = true; 
 
        } else { 
            status = false; 
        } 
 
    } catch (JSONException e) { 
        e.printStackTrace(); 
    } 

这是我的 php 代码。

try 

{

$receiverid =array(); 
$s=""; 
$senderid =$_POST['senderid']; 
$subject=$_POST['subject']; 
$message=$_POST['message']; 
 
$msgdt=$_POST['msgdt']; 
$msgtime =$_POST['msgtime']; 
$receiverid =$_POST['receiverid']; 
$response = array(); 
 
for($i=0; $i<count($receiverid);$i++) 
 { 
 
$s=mysql_query("insert into `schoolsystem`.`sch_message`  
(  
`sender_id`,  
`subject`,  
`message`,  
`msg_date`,  
`msg_time`,  
`receiver_id`  
 
) 
values 
( 
'$senderid',  
'$subject',  
'$message',  
'$msgdt',  
'$msgtime',  
'$receiverid[$i]')"); 
 
}  

我没有得到我从我的 android 代码发送的所有值。php 中的 for 循环只工作一次所以我只在 $receiverid[$i] 中得到一个值。只得到一个值..请帮助我

请您参考如下方法:

如果您希望参数是数组,则必须在参数名称中包含 []。将 receiverid 替换为 receiverid[]


标签:webService
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号